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

什么是 Azure HDInsight?

Azure HDInsight 是面向企业的云中托管、全方位的开源分析服务。 借助 HDInsight,可以在 Azure 环境中使用开源框架,例如 Apache Spark、Apache Hive、LLAP、Apache Kafka、Hadoop 等等。

什么是 HDInsight 和 Hadoop 技术堆栈?

Azure HDInsight 是一个托管群集平台,可用于在 Azure 环境中轻松运行 Apache Spark、Apache Hive、LLAP、Apache Kafka、Apache Hadoop 等大数据框架。 此平台专为快速高效地处理大量数据而设计。

为何应使用 Azure HDInsight?

功能 说明
云原生 可以使用 Azure HDInsight 在 Azure 上为 Spark、Interactive Query (LLAP)、Kafka、HBase 和 Hadoop 创建优化群集。 HDInsight 还在所有生产工作负荷上提供端到端 SLA。
低成本且可缩放 可以通过 HDInsight 纵向缩放工作负荷。 可以通过创建按需群集来降低成本,只为自己使用的资源付费。 还可以生成数据管道,使作业可操作化。 使计算和存储分离,提高性能和灵活性。
既安全又合规 通过 HDInsight,你可使用 Azure 虚拟网络、加密和与 Microsoft Entra ID 的集成来保护企业数据资产。 HDInsight 还满足最常用的行业和政府符合性标准。
监视 Azure HDInsight 集成 Azure Monitor 日志,可以通过单个界面来监视所有群集。
全球推出 提供 HDInsight 的区域要多于提供任何其他大数据分析产品/服务的区域。 Azure HDInsight 还在中国和德国的 Azure 政府版中提供,满足关键主权领域的企业需求。
工作效率 Azure HDInsight 允许将各种适用于 Hadoop 和 Spark 的高效工具与首选的开发环境配合使用。 这些开发环境包括 Visual Studio、VS Code、Eclipse 和 IntelliJ,可以提供 Scala、Python、Java 和 .NET 支持。
可扩展性 可以使用脚本操作通过安装的组件(Hue、Presto 等)来扩展 HDInsight 群集,具体方法是:添加边缘节点或集成其他大数据认证应用程序。 HDInsight 允许通过单击部署方式无缝集成最常用的大数据解决方案。

什么是大数据?

与以前相比,大数据的收集量在增加,收集速度在加快,收集格式在增多。 大数据可以是历史数据(即已存储的数据),也可以是实时数据(即从数据源流式传输的数据)。 请参阅使用 HDInsight 的方案,了解大数据的最常见用例。

HDInsight 中的群集类型

HDInsight 包括特定的群集类型和群集自定义功能,例如添加组件、实用程序和语言的功能。 HDInsight 提供以下群集类型:

群集类型 说明 开始使用
Apache Hadoop 一个框架,使用 HDFS、YARN 资源管理和简单的 MapReduce 编程模型并行处理和分析批处理数据。 创建 Apache Hadoop 群集
Apache Spark 一种开源并行处理框架,支持使用内存中处理来提升大数据分析应用程序的性能。 请参阅什么是 HDInsight 中的 Apache Spark? 创建 Apache Spark 群集
Apache HBase 基于 Hadoop 上的 NoSQL 数据库构建,为大量非结构化和半结构化数据(可能为数十亿行乘以数百万列)提供随机访问和高度一致性。 请参阅什么是 HDInsight 上的 HBase? 创建 Apache HBase 群集
Apache 交互式查询 更快的交互式 Hive 查询的内存中缓存。 请参阅在 HDInsight 中使用交互式查询 创建交互式查询群集
Apache Kafka 一种开源平台,用于生成流式处理的数据管道和应用程序。 Kafka 还提供了消息队列功能,允许用户发布和订阅数据流。 请参阅 Apache Kafka on HDInsight 简介 创建 Apache Kafka 群集

使用 HDInsight 的方案

Azure HDInsight 适用于各种方案的大数据处理。 大数据可以是历史数据(已收集和存储的数据),也可以是实时数据(直接从源流式传输的数据)。 处理此类数据的方案可以汇总成以下类别:

批处理 (ETL)

提取、转换和加载 (ETL) 是指将非结构化或结构化数据从异类数据源中提取出来, 转换成某种结构化格式,然后加载到数据存储中这一过程。 可以将转换的数据用于数据科学或数据仓库。

数据仓库

可以使用 HDInsight 对任何格式的结构化或非结构化数据执行 PB 规模的交互式查询。 也可以通过生成模型将其连接到 BI 工具。

HDInsight architecture: Data warehousing.

物联网 (IoT)

可以使用 HDInsight 处理从各种设备实时接收的流数据。 有关详细信息,请阅读 Azure 提供的此博客文章,了解使用 Azure 托管磁盘的 Apache Kafka on HDInsight 公共预览版。

Screenshot of the HDInsight architecture: Internet of Things.

混合

可以使用 HDInsight 将现有的本地大数据基础结构扩展到 Azure,以运用云的高级分析功能。

HDInsight architecture: Hybrid.

HDInsight 中的开源组件

Azure HDInsight 允许使用 Spark、Hive、LLAP、 Kafka、Hadoop 和 HBase 等开源框架创建群集。 默认情况下,这些群集包含各种开源组件,例如 Apache Ambari、Avro、Apache Hive 3、HCatalog、Apache Hadoop MapReduce、Apache Hadoop YARN、Apache Phoenix、Apache Pig、Apache Sqoop、Apache Tez、Apache Oozie 和 Apache ZooKeeper。

HDInsight 中的编程语言

HDInsight 群集包括 Spark、HBase、Kafka、Hadoop 和其他群集,支持多种编程语言。 某些编程语言默认情况下未安装。 对于默认情况下未安装的库、模块或程序包,请使用脚本操作来安装组件。

编程语言 信息
默认编程语言支持 默认情况下,HDInsight 群集支持:
  • Java
  • Python
  • .NET
  • Go
Java 虚拟机 (JVM) 语言 除 Java 之外的许多语言都可以在 Java 虚拟机 (JVM) 上运行。 但是,运行这其中的部分语言时,可能必须在群集上安装其他组件。 HDInsight 群集支持以下基于 JVM 的语言:
  • Clojure
  • Jython (Python for Java)
  • Scala
Hadoop 特定的语言 HDInsight 群集支持以下特定于 Hadoop 技术堆栈的语言:
  • 用于 Pig 作业的 Pig Latin
  • 用于 Hive 作业的 HiveQL 和 SparkSQL

适用于 HDInsight 的开发工具

可以使用 HDInsight 开发工具(包括 IntelliJ、Eclipse、Visual Studio Code 和 Visual Studio)通过与 Azure 的无缝集成来创作和提交 HDInsight 数据查询和作业。

  • Azure toolkit for IntelliJ 10
  • Azure toolkit for Eclipse 6
  • 用于 VS Code 13 的 Azure HDInsight 工具
  • 用于 Visual Studio 9 的 Azure Data Lake 工具

HDInsight 上的商业智能

大家熟悉的商业智能 (BI) 工具使用 Power Query 外接程序或 Microsoft Hive ODBC 驱动程序来检索、分析和报告与 HDInsight 集成的数据:

区域内数据驻留

Spark、Hadoop 和 LLAP 不会存储客户数据,因此,这些服务会自动满足信任中心内指定的区域内数据驻留要求。

Kafka 和 HBase 确实会存储客户数据。 Kafka 和 HBase 会自动将此数据存储在单个区域中,因此此服务会满足信任中心内指定的区域内数据驻留要求。

大家熟悉的商业智能 (BI) 工具使用 Power Query 加载项或 Microsoft Hive ODBC 驱动程序来检索、分析和报告与 HDInsight 集成的数据。

后续步骤