如何在 Azure 数据湖分析和 Azure Databricks 之间做出选择

How to choose between Azure data lake analytics and Azure Databricks

Azure 数据湖分析和 azure databricks 都可以用于批处理。任何人都可以帮助我了解何时选择一个而不是另一个吗?

以我的愚见,其中很多都归结为现有的技能组合。如果您的团队在 Spark、Java、Python、r 或 Scala 方面经验丰富,那么 Databricks 是天作之合。另一方面,如果您的团队拥有 SQL 和 c# 技能,那么他们使用 U-SQL 的学习曲线将不那么陡峭。

除此之外,还有其他问题可以消除分歧:

  • 您需要实时交互 (Databricks) 还是批处理模式分析(两者)? U-SQL,please vote.
  • 虽然有实时交互的反馈项
  • 您想要按需付费模式 (U-SQL) 还是在一段时间后自动终止的集群 (Databricks)?
  • 您喜欢使用笔记本 (Databricks) 还是 Visual Studio / VSCode / Powershell / .net sdk (U-SQL) 方法?
  • 您想使用 GraphX (Databricks) 等 Spark 库吗?
  • 您想要 运行 和缩放任意 运行 时间 (U-SQL) 的能力吗?有关详细信息,请参阅 here
  • 是否需要本地开发模拟器(U-SQL)? Visual Studio 中的 U-SQL 模拟器是无缝的,即您针对本地驱动器以与您的湖相同的结构开发代码(对于 free),然后只需在云中单击 Visual Studio 到 运行 中的下拉菜单。尽管我认为您可以拥有本地 Spark 环境,但我不确定 Databricks 的本地(和断开连接)开发体验如何。
  • 您使用的是 ADLS Gen 2(仅 Databricks)吗?参见 here

2018 年 10 月更新: 据我所知,U-SQL 目前不支持 ADLS Gen 2,这对它不利(很高兴得到纠正)。我将更新 post if 以及何时添加该支持。

2019 年 1 月更新: U-SQL 自 Spring 2018.

以来没有任何有意义的更新

HTH

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

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

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

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