22

Azure 数据湖分析和 azure databricks 都可用于批处理。谁能帮我理解什么时候选择一个而不是另一个?

4

2 回答 2

32

在我看来,很多都归结为现有的技能组合。如果您有一个在 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 没有任何有意义的更新。

高温高压

于 2018-05-22T13:43:22.977 回答
5

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

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

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

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

于 2019-03-11T15:51:56.613 回答