如何在Azure数据湖分析和Azure Databricks之间进行选择

Pra*_*tic 20 azure-data-lake azure-analysis-services

Azure数据湖分析和azure数据库都可用于批处理.有谁可以帮我理解何时选择一个而不是另一个?

wBo*_*Bob 31

在我的拙见中,很多都归结为现有的技能组合.如果你有一个经验丰富的Spark,Java,Python,r或Scala团队,那么Databricks很自然.另一方面,如果你有一个拥有现有SQL和c#技能的团队,那么使用U-SQL的学习曲线将不那么陡峭.

除此之外,还有其他问题可以消除差异:

  • 您是否需要实时交互(Databricks)或批处理模式分析(两者)?虽然U-SQL有实时交互的反馈项,但请投票.
  • 你想要一个即用即付模式(U-SQL)或在一段时间后自动终止的集群(Databricks)?
  • 你喜欢在笔记本(Databricks)或Visual Studio/VSCode/Powershell/.net sdk(U-SQL)方法中工作吗?
  • 你想使用像GraphX(Databricks)这样的Spark库吗?
  • 您是否希望能够运行和扩展任何运行时(U-SQL)?有关详细信息,请参见此处
  • 你想要一个本地开发模拟器(U-SQL)吗?Visual Studio中的U-SQL模拟器是无缝的,即您使用与湖泊相同的结构(免费)针对本地驱动器开发代码,然后只需单击Visual Studio中的下拉列表即可在云中运行.虽然我认为您可以拥有本地Spark环境,但我不确定Databricks的本地(和断开连接)开发体验是什么.
  • 您使用的是ADLS Gen 2(仅限Databricks)吗?看到这里.

更新2018年10月:据我所知,U-SQL目前不支持ADLS Gen 2,它会反对它(很乐意纠正).如果添加该支持,我将更新帖子.

更新2019年1月:自2018春季以来,U-SQL没有任何有意义的更新.

HTH

  • +1为详细答案.所有这些都是有意义的,但在架构上或在性能方面或在能力方面,有什么区别? (2认同)
  • 很好的答案.@wBob你认为HDInsight在哪里适合这里?在什么情况下我想要使用一个而不是另一个. (2认同)

小智 5

数据块 有更多的语言选项,允许具有不同技能的专业人员处理数据。同样使用数据块,您可以运行具有高性能内存集群的作业。

在一个项目中,我们更多地将数据湖用作存储,并通过 databricks notebook 完成所有工作(ETL、分析)。将数据存储在数据湖中更便宜 $.

回到你的问题,如果一个复杂的批处理作业,和不同类型的专业人员将处理你的数据。您可以选择 Azure Data Lake + Databricks 架构。否则,Azure 数据湖将满足您的需求。

看看这两篇文章会有所帮助。 https://databricks.com/glossary/data-lake https://visualbi.com/blogs/microsoft/azure/etl-azure-databricks-vs-data-lake-analytics/