共用方式為


Synapse 實作成功方法:評估 Spark 集區設計

注意

本文是根據設計成功實作 Azure Synapse系列文章的一部分。 如需系列概觀,請參閱根據設計成功實作 Azure Synapse

您應該評估自己的 Apache Spark 集區設計,以找出問題並驗證其是否符合指導方針和需求。 藉由在解決方案開發開始之前評估設計,您可以避免阻礙和未預期的設計變更。 如此一來,您就可以確保專案進度且不超過預算。

Synapse 中的 Apache Spark 將 Apache Spark 平行資料處理能力帶到 Azure Synapse Analytics。 此評估會根據 Azure Synapse 中的 Apache Spark 是否適合您的工作負載來提供指引。 其中描述當您評估納入 Spark 集區的解決方案設計項目時要考慮的重點。

調整間距分析

規劃使用 Azure Synapse 實作 Spark 集區時,請先確保這是最適合您工作負載的選擇。

請考慮下列幾點。

  • 您的工作負載是否需要資料工程/資料準備?
    • Apache Spark 最適合具有下列需求的工作負載:
      • 資料清理。
      • 將半結構化資料 (例如 XML) 轉換成關聯式資料。
      • 複雜的任意文字轉換,例如模糊比對或自然語言處理 (NLP)。
      • 機器學習 (ML) 的資料準備。
  • 您的資料工程/資料準備工作負載是否牽涉到複雜或簡單的轉換? 此外,您是否在尋找低程式碼/無程式碼方法?
    • 如需簡單的轉換 (例如移除資料行、變更資料行資料類型或聯結資料集),請考慮使用資料流程活動建立 Azure Synapse 管線。
    • 資料流程活動提供低程式碼/無程式碼方法來準備您的資料。
  • 您的工作負載是否需要對巨量資料進行 ML?
    • Apache Spark 適用於要用來進行 ML 的大型資料集。 如果您使用小型資料集,請考慮使用 Azure Machine Learning 作為計算服務。
  • 您是否計劃對巨量資料執行資料探索或特定查詢分析?
    • Azure Synapse 中的 Apache Spark 提供以 Python/Scala/SQL/.NET 為基礎的資料探索。 不過,如果您需要完整的 Transact-SQL (T-SQL) 體驗,請考慮使用無伺服器 SQL 集區
  • 您目前是否有 Spark/Hadoop 工作負載?您是否需要整合的巨量資料平台?
    • Azure Synapse 提供整合的分析平台來處理巨量資料。 有適用於特定查詢的 Spark 和 SQL 無伺服器集區,以及適用於報告和提供資料的專用 SQL 集區。
    • 從內部部署 (或其他雲端環境)的 Spark/Hadoop 工作負載移出,可能牽涉到一些重構而應該列入考量。
    • 如果您在尋找將 Apache 巨量資料環境從內部部署隨即轉移到雲端的方法,而且您需要符合嚴格的資料工程服務等級協定 (SLA),請考慮使用 Azure HDInsight

架構考量

為了確保 Apache Spark 集區符合您的營運卓越、效能、可靠性和安全性需求,以下是要在您架構中驗證的重要領域。

卓越營運

若要獲得傑出的營運方式,請評估下列幾點。

效能效益

如要獲得高效率的效能,請評估下列幾點。

  • 檔案大小和檔案類型:檔案大小和檔案數目會影響效能。 設計架構,以確保檔案類型有利於 Apache Spark 的原生擷取。 此外,傾向使用較少的大型檔案,而不是許多小型檔案。
  • 資料分割:指出是否要對您的工作負載實作資料夾和/或檔案層級的資料分割。 「資料夾分割數」會限制要搜尋和讀取的資料量。 「檔案分割數」可減少要在檔案內搜尋的資料量,但僅適用於初始架構中應該考慮的特定檔案格式。

可靠性

針對可靠性,請評估下列幾點。

  • 可用性:Spark 集區的啟動時間為三到四分鐘。 如果有許多程式庫需要安裝,可能需要較長的時間。 設計批次與串流工作負載時,請從您的評定資訊識別用於執行作業的 SLA,並判斷哪一個架構最符合您的需求。 此外,請考慮每個作業執行都會建立新的 Spark 集區叢集。
  • 檢查點檢查: Apache Spark 串流具有內建檢查點檢查機制。 檢查點檢查可讓您在集區中的節點失敗時,從上次處理的項目中復原您的資料流。

安全性

針對安全性,請評估下列幾點。

  • 資料存取:您必須針對附加至 Synapse 工作區的 Azure Data Lake Storage (ADLS) 帳戶考慮資料存取。 此外,請決定存取不在 Azure Synapse 環境中之任何資料所需的安全性層級。 請參閱您在評定階段期間收集的資訊。
  • 網路:檢閱在評定期間收集的網路資訊和需求。 如果設計牽涉到 Azure Synapse 的受控虛擬網路,請考慮此需求對 Azure Synapse 中 Apache Spark 的影響。 其中一個影響是存取資料時無法使用 Spark SQL。

下一步

在<根據設計成功實作 Azure Synapse>系列的下一篇文章中,了解如何在專案開始之前評估新式資料倉儲專案計劃。

如需最佳做法的詳細資訊,請參閱適用於 Azure Synapse 的 Apache Spark 指引 (英文)。