HdInsight 設定選項

已完成

HDInsight 具有內嵌在其中的各種 OSS 技術,可用於處理串流和批次資料案例,這些案例均定義於 Lambda 架構內。 在此架構模型中,具有資料的最忙碌路徑和資料的冷路徑。 裝置、感應器或應用程式會即時產生資料的最忙碌路徑,而資料分析會以近乎即時的方式執行,這通常稱為串流資料。 冷資料路徑是批次移動資料的時機,一般是從其他資料存放區,而且通常稱為批次資料。

Lambda solution architecture

實作 HDInsight 時,資料的儲存體會保留於符合規範的 Hadoop 分散式檔案系統 (HDFS) 中。 在 Azure 中,Data Lake Gen2 通常用來作為資料存放區,因為它符合 HDFS 規範。 來自最忙碌路徑與冷路徑的資料會在處理後,儲存於名為 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 的預設選項。