你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn

在 Azure 中选择批处理技术

大数据解决方案经常使用长时间运行的批处理作业来筛选、聚合或者准备数据以用于分析。 这些作业通常涉及从可缩放的存储(例如,HDFS、Azure Data Lake Store 和 Azure 存储)读取源文件,对源文件进行处理,并将输出写入到可缩放存储中的新文件。

对这类批处理引擎的基本要求是能够扩展计算能力,以处理大量数据。 不同于实时处理,批处理会有延迟(从数据引入到计算结果之间的时间),延迟范围为数分钟到数小时。

批处理的技术选择

Azure Synapse Analytics

Azure Synapse 是一种分布式系统,设计用于对大型数据执行分析。 它支持大规模并行处理 (MPP),因此很适合用于运行高性能分析。 如果有大量的数据(超过 1 TB),并在运行受益于并行度的分析工作负荷,请考虑使用 Azure Synapse。

Azure Data Lake Analytics

Data Lake Analytics 是一项按需分析作业服务。 它经过优化,可以对存储在 Azure Data Lake Store 中的大型数据集进行分布式处理。

  • 语言:U-SQL(包括 Python、R 和 C# 扩展)。
  • 集成 Azure Data Lake Store、Azure 存储 Blob、Azure SQL 数据库和 Azure Synapse。
  • 定价模型为“按作业”。

HDInsight

HDInsight 是一项托管型 Hadoop 服务。 可以使用它在 Azure 中部署和托管 Hadoop 群集。 对于批处理,可以使用 SparkHiveHive LLAPMapReduce

  • 语言:R、Python、Java、Scala、SQL
  • 使用 Active Directory 进行的 Kerberos 身份验证、基于 Apache Ranger 的访问控制
  • 可以完全控制 Hadoop 群集

Azure Databricks

Azure Databricks 是基于 Apache Spark 的分析平台。 可以将其视为“Spark 即服务”。这是在 Azure 平台上使用 Spark 最简单的方法。

  • 语言:R、Python、Java、Scala、Spark SQL
  • 群集启动时间短,可自动终止,自动缩放。
  • 为你管理 Spark 群集。
  • 内置集成 Azure Blob 存储、Azure Data Lake Storage (ADLS)、Azure Synapse 等服务。 请参阅 Data Sources(数据源)。
  • 使用 Microsoft Entra ID 进行用户身份验证。
  • 基于 Web 的 Notebook,适用于协作和数据探索。
  • 支持启用了 GPU 的群集

关键选择条件

若要缩小选择范围,请先回答以下问题:

  • 你希望使用托管服务还是由你管理自己的服务器?

  • 希望以声明方式还是以命令方式创作批处理逻辑?

  • 是否会爆发性地执行批处理? 如果是,请考虑使用允许自动终止群集的选项或其定价模型为“按批处理作业”的选项。

  • 是否需要随批处理查询关系数据存储,例如查找参考数据? 如果是,请考虑使用允许查询外部关系存储的选项。

功能矩阵

以下各表汇总了功能上的关键差异。

常规功能

功能 Azure Data Lake Analytics Azure Synapse HDInsight Azure Databricks
是托管服务 1
关系数据存储 No
定价模型 按批处理作业 按群集小时 按群集小时 Databricks 单位2 + 群集小时

[1] 手动配置。

[2] Databricks 单位 (DBU) 是表示每小时处理能力的单位。

功能

功能 Azure Data Lake Analytics Azure Synapse 基于 Spark 的 HDInsight 基于 Hive 的 HDInsight 基于 Hive LLAP 的 HDInsight Azure Databricks
自动缩放 No
横向扩展粒度 按作业 按群集 按群集 按群集 按群集 按群集
数据的内存中缓存 No
从外部关系存储进行查询 No No
身份验证 Microsoft Entra ID SQL/Microsoft Entra ID Microsoft Entra ID1 Microsoft Entra ID1 Microsoft Entra ID
审核 1 1
行级别安全性 2 1 1
支持防火墙 3 3
动态数据掩码 1 1

[1] 需要使用已加入域的 HDInsight 群集

[2] 仅筛选谓词。 请参阅行级别安全性

[3] 在 Azure 虚拟网络中使用时受支持。

作者

本文由 Microsoft 维护, 它最初是由以下贡献者撰写的。

主要作者:

后续步骤