代码之家  ›  专栏  ›  技术社区  ›  Pragmatic

如何在Azure Data Lake Analytics和Azure DataBricks之间进行选择

  •  19
  • Pragmatic  · 技术社区  · 6 年前

    Azure Data Lake Analytics和Azure DataBricks都可用于批处理。有人能帮我理解什么时候选择一个而不是另一个吗?

    2 回复  |  直到 6 年前
        1
  •  29
  •   wBob    6 年前

    在我看来,很多问题都归结于现有的技能。如果你有一个在Scale、Java、Python、R或Scala中有经验的团队,那么Databricks是一个天生合适的人。另一方面,如果您有一个拥有现有SQL和C技能的团队,那么使用U-SQL的团队的学习曲线就不会那么陡峭了。

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

    • 您是否需要实时交互(数据块)或批处理模式分析(两者都需要)?虽然U-SQL有一个实时交互的反馈项, please vote .
    • 您想要一个按量付费的模型(U-SQL)还是在一段时间后自动终止的集群(数据块)?
    • 您喜欢使用笔记本(Databricks)或Visual Studio/vscode/PowerShell/.NET SDK(U-SQL)方法吗?
    • 您想使用像graphx(databricks)这样的Spark库吗?
    • 是否希望能够运行和缩放任何运行时(U-SQL)?见 here 了解更多详细信息。
    • 是否需要本地开发仿真器(U-SQL)? Visual Studio中的U-SQL仿真器是无缝的,也就是说,使用与Lake结构相同的本地驱动器开发代码(用于 自由的 ,然后只需单击Visual Studio中的下拉列表即可在云中运行。尽管我认为您可以拥有一个本地的Spark环境,但我不确定Databricks的本地(和断开连接的)开发体验是什么。
    • 您是否使用ADLS第2代(仅数据块)?见 here .

    更新日期:2018年10月 : 据我所知,U-SQL目前不支持ADLS第2代,这将对它不利(很高兴更正)。我会更新帖子 如果 当支持增加时。

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

    高温高压

        2
  •  1
  •   Wei-Hsuan Chou    6 年前

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

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

    回到你的问题上来,如果一个复杂的批量作业,不同类型的专业人员会对你的数据进行处理。您可以选择一个Azure数据湖+数据砖块架构。否则,一个Azure数据湖将满足您的需求。

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