:::: MENU ::::

TalkingData's Blog

现在开始,用数据说话。

锐眼洞察 | Azure Databricks技术概览(翻译)

Data

锐眼洞察 | Azure Databricks技术概览(翻译)

作者:Matei Zaharia & Peter Carlin 

原文:A Technical Overview of Azure Databricks

译者:TalkingData研发副总裁 闫志涛

本译文禁止商用,转载请注明来源与译者!

译者注:
从前年就从Databricks的一些朋友了解到Databricks在构建基于Spark的云平台。如今这个世界是云的时代已经是个勿容置疑的趋势。传统的IT厂商都在做云端的转型,比如Oracle已经决定将自己安身立命的Oracle数据库都变成云端的服务了。Databricks作为Spark的核心贡献者,其商业模型势必是要走到云端提供端到端的大数据平台。这篇文章就是关于Databricks和Azure Cloud的深度集成的Azure Databricks。回到我们自身,我坚信我们的未来也是与云化密不可分的。

今天,我们在Microsoft connect(); 介绍了Azure Databricks,一个结合了业内最好的Apache Spark分析平台和Azure Cloud的能力的令人兴奋的新的服务。通过Databricks和微软的紧密的合作,Azure Databricks带来了在其他的云平台上都不具备的独特的价值。这篇博客将会介绍这个新的技术以及通过Azure上的Databricks给数据科学家、数据工程师和业务决策者带来的新的能力。

Apache Spark + Databricks + Enterprise Cloud = Azure Databricks

当你在云上管理大量的数据的时候,你给预测分析、AI和实时应用带来了无限的可能。在过去的五年中,构造这些应用选择的平台是Apache Spark,由于有全球数以千计的企业组成的庞大的社区,Spark使得实时的运行大规模的强大的分析算法成为可能,从而能够支持进行业务洞察。然而,大规模的部署和管理Spark仍旧是个挑战,尤其是对于有大量的用户并且需要很强大的安全要求的企业客户。

进入Databricks,公司是2013年由启动Spark项目的团队创建的。Databricks提供针对云平台进行优化的端到端的托管式的Spark平台。通过一键部署、自动弹性伸缩、以及优化的可以在云上以10倍到100倍提高性能的Spark运行时环境,Databricks使得运行大规模的Spark负载简单而且高效。另外,Databricks还包括了交互式的notebook环境,监控工具以及安全控制从而使得Spark可以非常容易的在具有上千个用户的企业落地。

在Azure Databricks, 通过微软和Databricks的密切合作,我们在Databricks平台基础能力上更进一步,紧密的集成了Azure服务的能力。Azure Databricks提供了访问Azure存储平台的优化的连接器,从而提供最快的数据访问速度。同时支持通过Azure Console的一件事管理。这是Apache Spark平台第一次紧密的与一个云平台提供商合作,从最底层进行优化提高数据分析的性能。

对数据工程师和数据科学家的好处

为什么Azure Databricks对于数据工程师和数据科学家有用呢?让我们来看看:

优化的环境

Azure Databricks从底层开始做优化从而保证在云上的性能和成本收益。Databricks运行时环境给Spark负载增加了几个关键的能力,可以在Azure上运行时提高性能并且节省10到100倍的成本:

  1. 高速的连接到Azure Blob Store和Azure Data Lake等Azure存储服务的连接器,这些连接器是与这些服务的开发者一起联合开发的。
  2. Spark集群的自动缩放和自动终止,从而最小化花销。
  3. 包括缓存,索引和高级查询优化在内的性能优化,比传统的Apache Spark在云或本地环境中的性能提高了10-100倍。

无缝的协同

你应该记得当文档变得真正的能多人编辑时效率是如何的提升。我们为什么不能使得数据工程和数据科学也变成这样?Azure Databricks就是如此。Databricks上的notebook能够进行共享和实时协作,以便您组织中的每个人都可以使用您的数据。仪表板使业务用户能够在现在存在的任务中使用新的参数。 Databricks与PowerBI紧密的集成以支持交互式的可视化。 能够使这些能力成为可能,是因为Azure Databricks由Azure数据库和其他支持高度并发访问、高性能和地理复制的技术的支持的。

易于使用

Azure Databricks附带了交互式的notebook,可让您连接到常见的数据源,运行机器学习算法,并学习Apache Spark的基本知识以快速入门。 它还具有集成的调试环境,可以让您从交互式notebook中分析Spark作业的进度,另外还包含分析已经完成的作业的强大工具。 最后,还预装了其他常用分析库,例如Python和R数据科学技术栈,以便您可以使用Spark来进行洞察。 我们确实相信大数据可以变得数以十倍的更易用,我们正在继续坚持Apache Spark的理念,以提供统一的端到端平台。

Azure Databricks架构

那么Azure Databricks是如何组装在一起的呢?在高层次上,服务在每个Azure客户的订阅中启动和管理worker节点,从而让客户可以利用其帐户中的现有管理工具。

具体而言,当客户通过Databricks启动集群时,“Databricks appliance”将作为客户订阅中的Azure资源进行部署。 客户指定使用的虚拟机的类型和数量,但Databricks管理所有其他方面。 除了这个设备,一个托管资源组被部署到客户的订阅中,托管资源包括一个VNet,一个安全组和一个存储账户, 这些是Azure用户熟悉的概念。 一旦这些服务准备就绪,用户就可以通过Azure Databricks UI或通过自动伸缩等功能来管理Databricks集群。 所有元数据(如计划作业)都存储在具有地理复制功能的Azure数据库中以实现容错。

Azure-DB-Blog-Image.png

对于用户来说,这个设计意味着两件事。 首先,他们可以轻松地将Azure Databricks连接到其帐户中的任何存储资源,例如现有的Blob Store或Data Lake。 其次,Databricks从Azure控制中心集中管理,不需要额外的设置。

完全的Azure集成

我们将Azure Databricks与Azure平台的所有功能紧密集成,以便为用户提供最好的平台。 以下是我们迄今为止所做的一些部分:

  • VM类型的多样性:客户可以使用所有现有的VM:机器学习场景的F系列,海量内存场景的M系列,通用的D系列等。
  • 安全和隐私:在Azure中,数据的所有权和控制权属于客户。 我们已经构建了Azure Databricks来遵守这些标准。 我们旨在为Azure Databricks提供Azure其余部分遵守的所有合规性认证。
  • 网络拓扑结构的灵活性:客户有多种网络基础设施需求。 Azure Databricks支持客户VNET中的部署,这可以控制可以访问哪些源和接收器以及如何访问它们。
  • Azure存储和Azure Data Lake集成:通过DBFS向Databricks用户展示这些存储服务,以便对现有数据进行缓存和优化的分析。
  • Azure Power BI:用户可以使用JDBC将Power BI直接连接到Databricks集群,以便使用熟悉的工具以大规模的交互方式查询数据。
  • Azure Active Directory提供对资源访问的控制,并已在大多数企业中使用。 Azure Databricks工作区部署在客户订阅中,所以可以非常自然的用AAD控制访问数据源,结果和作业。
  • Azure SQL数据仓库,Azure SQL数据库和Azure CosmosDB:Azure Databricks可轻松高效地将结果上载到这些服务中,以便进一步分析和提供实时服务,从而使在Azure上构建端到端数据架构变得非常简单。

除了您可以看到的所有整合之外,我们还努力以无法看到的方式进行整合 – 虽然好处是显而易见的。

  • 在内部,我们使用Azure容器服务通过容器运行Azure Databricks控制面板和数据面板。
  • 加速网络提供了云中最快的虚拟化网络基础架构,Azure Databricks利用它来进一步提高Spark的性能。
  • 最新一代的Azure硬件(Dv3虚拟机),NvMe SSD能够在IO上延迟100us,这使Databricks I / O性能更好。

我们只是抓到最浅层的表面! 随着服务GA并且进一步演进,我们希望能够继续与其他即将到来的Azure服务进行整合。

结论

我们很高兴能够携手合作为您带来Azure Databricks。 领先的云提供商和领先的分析系统提供商首次合作建立了一个云端分析平台——从Azure的存储和网络基础架构到Databricks的Apache Spark运行环境。 我们相信,Azure Databricks将极大地简化企业级生产环境数据应用的构建,并且我们很乐意听到您的反馈意见。

 

Leave a comment

随时欢迎您 联系我们