在 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 叢集。 針對批處理,您可以使用Spark、Hive、Hive LLAP、MapReduce。
- 語言:R、Python、Java、Scala、SQL
- 使用 Active Directory、Apache Ranger 型訪問控制進行 Kerberos 驗證
- 讓您完全控制Hadoop叢集
Azure Databricks
Azure Databricks 是以 Apache Spark 為基礎的分析平臺。 您可以將它視為「Spark 即服務」。這是在 Azure 平臺上使用 Spark 最簡單的方式。
- 語言:R、Python、Java、Scala、Spark SQL
- 快速叢集開始時間、自動決定、自動調整。
- 為您管理 Spark 叢集。
- 內建與 Azure Blob 儲存體、Azure Data Lake 儲存體 (ADLS)、Azure Synapse 和其他服務整合。 請參閱 數據源。
- 使用 Microsoft Entra 識別碼進行用戶驗證。
- 用於共同作業和數據探索的 Web 型 筆記本 。
- 支援 已啟用 GPU 的叢集
索引鍵選取準則
若要縮小選擇範圍,請從回答下列問題開始:
您要受控服務,而不是管理自己的伺服器嗎?
您要以宣告方式或命令方式撰寫批處理邏輯嗎?
您是否會在高載中執行批處理? 如果是,請考慮可讓您自動終止叢集的選項,或其定價模式是每個批次作業。
您需要查詢關係型數據存放區以及批處理,例如查詢參考數據嗎? 如果是,請考慮啟用外部關係存放區查詢的選項。
功能矩陣
下表摘要說明功能的主要差異。
一般功能
功能 | Azure Data Lake Analytics | Azure Synapse | HDInsight | Azure Databricks |
---|---|---|---|---|
是受控服務 | Yes | 是 | 是 1 | Yes |
關係型數據存放區 | Yes | .是 | 無 | Yes |
計價模式 | 每個批次作業 | 依叢集時數 | 依叢集時數 | Databricks Unit2 + cluster hour |
[1] 使用手動設定。
[2] Databricks 單位 (DBU) 是每小時的處理能力單位。
功能
功能 | Azure Data Lake Analytics | Azure Synapse | HDInsight 與Spark | HDInsight 包含 Hive | HDInsight 包含 Hive LLAP | Azure Databricks |
---|---|---|---|---|---|---|
自動調整規模 | No | 無 | .是 | .是 | .是 | Yes |
向外延展數據粒度 | 每個作業 | 每個叢集 | 每個叢集 | 每個叢集 | 每個叢集 | 每個叢集 |
數據的記憶體內部快取 | No | .是 | .是 | 無 | .是 | Yes |
從外部關係型存放區查詢 | 是 | 無 | .是 | 無 | 無 | Yes |
驗證 | Microsoft Entra ID | SQL / Microsoft Entra ID | No | Microsoft Entra ID1 | Microsoft Entra ID1 | Microsoft Entra ID |
稽核 | 是 | .是 | No | 是 1 | 是 1 | Yes |
資料列層級安全性 | No | 是2 | No | 是 1 | 是 1 | Yes |
支援防火牆 | Yes | .是 | 是 | 是 3 | 是 3 | Yes |
動態資料遮罩 | No | .是 | No | 是 1 | 是 1 | Yes |
[1] 需要使用 已加入網域的 HDInsight 叢集。
[2] 僅篩選述詞。 請參閱 數據列層級安全性
[3] 在 Azure 虛擬網絡 內使用時支援。
參與者
本文由 Microsoft 維護。 原始投稿人如下。
主體作者:
- Zoiner Tejada |CEO 和架構師
下一步
- 在 Azure Synapse Analytics 中建立 Lake 資料庫
- 建立 Azure Databricks 工作區
- 探索 Azure Databricks
- 使用 Azure 入口網站 開始使用 Azure Data Lake Analytics
- Azure Synapse Analytics 簡介
- 什麼是 Azure Databricks?(機器翻譯)
- 什麼是 Azure Synapse Analytics?
相關資源
意見反應
https://aka.ms/ContentUserFeedback。
即將登場:在 2024 年,我們將逐步淘汰 GitHub 問題作為內容的意見反應機制,並將它取代為新的意見反應系統。 如需詳細資訊,請參閱:提交並檢視相關的意見反應