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

时间:2018-05-22 11:48:26

标签: azure-data-lake azure-analysis-services

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

2 个答案:

答案 0 :(得分:27)

在我的拙见中,很多都归结为现有的技能组合。如果你有一个经验丰富的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模拟器是无缝的,即您在与湖泊相同的结构中针对本地驱动器开发代码(对于免费),然后只需单击Visual Studio中的下拉列表即可在云中运行。虽然我认为您可以拥有本地Spark环境,但我不确定Databricks的本地(和断开连接)开发体验是什么。
  • 您使用的是ADLS Gen 2(仅限Databricks)吗?见here

2018年10月更新: 据我所知,U-SQL目前不支持ADLS Gen 2,它会反对它(很乐意纠正)。我会更新帖子 if 以及何时添加该支持。

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

HTH

答案 1 :(得分:1)

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

在一个项目中,我们更多地使用数据湖作为存储,并通过databricks笔记本完成所有工作(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/