什么是 Azure HDInsight?
Azure HDInsight 是 Hadoop 组件的云分发版。
可以通过 Azure HDInsight 轻松、快速且经济有效地处理大量数据。
可以使用 Hadoop、Spark、Hive、LLAP、Kafka、Storm 等最常用的开源框架。
可以通过这些框架启用各种各样的方案,例如提取、转换和加载 (ETL);数据仓库操作;机器学习;IoT。
什么是大数据?
与以前相比,大数据的收集量在增加,收集速度在加快,收集格式在增多。
大数据可以是历史数据(即已存储的数据),也可以是实时数据(即从数据源流式传输的数据)。
为何应使用 Azure HDInsight?
- 云原生
可以使用 Azure HDInsight 在 Azure 上为 Hadoop、 Spark、 交互式查询 (LLAP)、 Kafka、 Storm、 HBase 创建优化群集。 HDInsight 还在所有生产工作负荷上提供端到端 SLA。 - 低成本且可缩放
可以通过 HDInsight 纵向缩放 工作负荷。 可以通过创建按需群集来降低成本,只为自己使用的资源付费。 还可以生成数据管道,使作业可操作化。 使计算和存储分离,提高性能和灵活性。 - 既安全又合规
HDInsight 允许通过 Azure 虚拟网络、加密以及与 Azure Active Directory 集成来保护企业数据资产。 HDInsight 还满足最常用的行业和政府符合性标准。 - 监视
Azure HDInsight 集成 Azure Monitor 日志,可以通过单个界面来监视所有群集。 - 工作效率
Azure HDInsight 允许将各种适用于 Hadoop 和 Spark 的高效工具与首选的开发环境配合使用。 这些开发环境包括 Visual Studio、VSCode、Eclipse 和 IntelliJ,可以提供 Scala、Python、R、Java 和 .NET 支持。 数据科学家也可以使用 Jupyter 和 Zeppelin 等常用 Notebook 进行协作。 - 可扩展性
可以使用脚本操作通过安装的组件(Hue、Presto 等)来扩展 HDInsight 群集,具体方法是:添加边缘节点或集成其他大数据认证应用程序。 HDInsight 允许通过单击部署方式无缝集成最常用的大数据解决方案。
使用 HDInsight 的方案
- 批处理 (ETL)
提取、转换和加载 (ETL) 是指将非结构化或结构化数据从异类数据源中提取出来, 转换成某种结构化格式,然后加载到数据存储中这一过程。 可以将转换的数据用于数据科学或数据仓库。 - 数据仓库
可以使用 HDInsight 对任何格式的结构化或非结构化数据执行 PB 规模的交互式查询。 也可以通过生成模型将其连接到 BI 工具。
- 物联网 (IoT)
可以使用 HDInsight 处理从各种设备实时接收的流数据。
- 数据科学
可以使用 HDInsight 生成从数据中提取关键见解的应用程序。 也可在此基础上使用 Azure 机器学习来预测业务的未来趋势。
- 混合
可以使用 HDInsight 将现有的本地大数据基础结构扩展到 Azure,充分利用云的高级分析功能。
HDInsight 中的群集类型
- Apache Hadoop
一个框架,使用 HDFS、YARN 资源管理和简单的 MapReduce 编程模型并行处理和分析批处理数据。 - Apache Spark
一种开源并行处理框架,支持使用内存中处理来提升大数据分析应用程序的性能。 - Apache HBase
构建于 Hadoop 上的 NoSQL 数据库,用于为大量非结构化和半结构化数据(可能为数十亿行乘以数百万列)提供随机访问和高度一致性。 - ML Services
用于托管和管理并行分布式 R 进程的服务器。 它可让数据科研人员、统计人员和 R 程序员根据需要访问 HDInsight 上可缩放的分布式分析方法。 - Apache Storm
分布式实时计算系统,用于快速处理大型数据流。 Storm 以 HDInsight 中的托管群集形式提供。 - Apache 交互式查询
用于实现更快的交互式 Hive 查询的内存中缓存。 - Apache Kafka
一种开源平台,用于生成流式处理的数据管道和应用程序。 Kafka 还提供了消息队列功能,可用于发布和订阅数据流。
HDInsight 中的编程语言
- 默认编程语言支持
Java、Python、.NET、Go - Java 虚拟机 (JVM) 语言
Clojure、Jython (Python for Java)、Scala - Hadoop 特定的语言
用于 Pig 作业的 Pig Latin、用于 Hive 作业的 HiveQL 和 SparkSQL