HDInsight 配置选项

已完成

HDInsight 中嵌入了各种 OSS 技术,这些技术可用于处理 Lambda 体系结构中所定义的流数据和批数据方案。 此体系结构模型中存在数据的热路径和数据的冷路径。 数据的热路径由设备、传感器或应用程序实时生成,且数据分析近乎实时执行,这常称为流数据。 冷数据路径是指成批移动数据(通常是从其他数据存储中移出),常称为批数据。

Lambda solution architecture

实现 HDInsight 时,数据存储位于兼容的 Hadoop 分布式文件系统 (HDFS) 中。 在 Azure 中,由于 Data Lake Gen2 与 HDFS 兼容,因此通常使用它作为数据存储。 处理后的热路径和冷路径中的数据存储在名为 Data Lake 的集中式数据存储中。 Data lake 本身可划分为多个隔离仓,从而可将数据保存于可按数据状态(登陆区域、转换区域等)、访问要求(热、温和冷)和业务组来定义的各个隔离舱中。 服务层是 data lake 中的最后一个隔离舱,用于将数据保存为各类使用者均可使用的格式。

这里强调一下,HDInsight 的计算功能涉及流数据或批数据的处理,且可能会因你在预配 HDInsight 群集时所选择的群集类型而有所不同。 HDInsight 通过独立的群集选项来提供服务,如下表所示。

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

因此,务必选择正确的群集类型,以满足要解决的业务案例的需要。 无论选择哪种群集类型,群集中还会添加其他开源组件,以提供更多功能,包括:

Hadoop 管理

HCatalog - 适用于 Hadoop 的表和存储管理层

Apache Ambari - 有助于管理和监视 Apache Hadoop 群集

Apache Oozie - 工作流计划程序系统,用于管理 Apache Hadoop 作业

Apache Hadoop YARN - 管理资源管理和作业计划/监视

Apache ZooKeeper - 集中式服务,用于维护配置信息、命名、提供分布式同步以及提供组服务。 

数据处理

Apache Hadoop MapReduce - 框架,用于轻松编写处理海量数据的应用程序

Apache Tez - 应用程序框架,用于处理数据

Apache Hive - 有助于使用 SQL 管理分布式存储中的大型数据集

数据分析

Apache Pig - 提供 MapReduce 上的抽象层,用于分析大型数据集

Apache Phoenix - 适用于 Hadoop 中的 OLTP 和操作分析

Apache Mahout - 代数框架,用于创建自己的算法

注意

在本文写作之时,Azure Data Lake Gen1 和 Azure Blob 存储都是 HDInsight 支持的数据存储层。 你应该会想要将此数据迁移到 Azure Data Lake Gen2,因为它是 Spark 和 Hadoop 的推荐存储平台,也是 HBase 的默认选择。