共用方式為


將 Spark 作業定義從 Azure Synapse 遷移至 Fabric

若要將 Spark 作業定義 (SJD) 從 Azure Synapse 移至 Fabric,您有兩個不同的選項:

  • 選項 1:在 Fabric 中手動建立 Spark 作業定義。
  • 選項 2:您可以使用腳本從 Azure Synapse 匯出 Spark 作業定義,並使用 API 在 Fabric 中匯入它們。

如需Spark作業定義考慮,請參閱 Azure Synapse Spark 與 Fabric 之間的差異。

必要條件

如果您還沒有網狀架構工作區,請在租使用者中建立 Fabric 工作區

選項 1:手動建立 Spark 作業定義

若要從 Azure Synapse 匯出 Spark 作業定義:

  1. 開啟 Synapse Studio:登入 Azure。 流覽至您的 Azure Synapse 工作區,然後開啟 Synapse Studio。
  2. 找出 Python/Scala/R Spark 作業:尋找並識別您想要移轉的 Python/Scala/R Spark 作業定義。
  3. 匯出工作定義群組態
    • 在 Synapse Studio 中,開啟 Spark 作業定義。
    • 匯出或記下組態設定,包括腳本檔案位置、相依性、參數,以及任何其他相關詳細數據。

若要根據 Fabric 中導出的 SJD 資訊建立新的 Spark 作業定義 :.

  1. 存取網狀架構工作區:登入 Fabric 並存取您的工作區。
  2. 在 Fabric 中建立新的 Spark 作業定義:
    • 在 [網狀架構] 中,移至 資料工程師 首頁
    • 選取 [Spark 作業定義]。
    • 使用您從 Synapse 匯出的資訊來設定作業,包括腳本位置、相依性、參數和叢集設定。
  3. 調整和測試 :對腳本或組態進行任何必要的調整,以符合 Fabric 環境。 在 Fabric 中測試作業,以確保作業正確執行。

Screenshot showing Spark job definition creation.

建立 Spark 作業定義之後,請驗證相依性:

  • 請確定使用相同的 Spark 版本。
  • 驗證主要定義檔是否存在。
  • 驗證參考檔案、相依性和資源是否存在。
  • 連結的服務、資料來源連線和掛接點。

深入瞭解如何在 Fabric 中建立 Apache Spark 作業定義

選項 2:使用網狀架構 API

請遵循下列重要步驟進行移轉:

  • 必要條件。
  • 步驟 1:將 Spark 作業定義從 Azure Synapse 匯出至 OneLake (.json)。
  • 步驟 2:使用網狀架構 API 自動將 Spark 作業定義匯入 Fabric。

必要條件

必要條件包括開始將 Spark 作業定義移轉至 Fabric 之前,您需要考慮的動作。

  • 網狀架構工作區。
  • 如果您還沒有,請在工作區中建立 Fabric Lakehouse

步驟 1:從 Azure Synapse 工作區匯出 Spark 作業定義

步驟 1 的重點在於以 json 格式將 Spark 作業定義從 Azure Synapse 工作區匯出至 OneLake。 此程式如下所示:

  • 1.1) 將 SJD 移轉筆記本 匯入 Fabric 工作區。 此筆記本 會將所有 Spark 作業定義從指定的 Azure Synapse 工作區匯出至 OneLake 中的中繼目錄。 Synapse API 可用來匯出 SJD。
  • 1.2) 在第一個命令中設定參數 ,將 Spark 作業定義匯出至中繼儲存體 (OneLake)。 這只會匯出 json 中繼資料檔案。 下列程式碼片段是用來設定來源和目的地參數。 請務必以您自己的值取代它們。
# Azure config
azure_client_id = "<client_id>"
azure_tenant_id = "<tenant_id>"
azure_client_secret = "<client_secret>"

# Azure Synapse workspace config
synapse_workspace_name = "<synapse_workspace_name>"

# Fabric config
workspace_id = "<workspace_id>"
lakehouse_id = "<lakehouse_id>"
export_folder_name = f"export/{synapse_workspace_name}"
prefix = "" # this prefix is used during import {prefix}{sjd_name}

output_folder = f"abfss://{workspace_id}@onelake.dfs.fabric.microsoft.com/{lakehouse_id}/Files/{export_folder_name}"
  • 1.3) 執行匯出/匯入筆記本的前兩個數據格 ,將 Spark 作業定義中繼資料匯出至 OneLake。 一旦儲存格完成,就會建立中繼輸出目錄下的這個資料夾結構。

Screenshot showing Spark job definition export in OneLake.

步驟 2:將 Spark 作業定義匯入 Fabric

步驟 2 是從中繼儲存體匯入 Spark 作業定義到 Fabric 工作區時。 此程式如下所示:

  • 2.1) 驗證 1.2 中的組態 ,以確保會指出正確的工作區和前置詞以匯入 Spark 作業定義。
  • 2.2) 執行匯出/匯入筆記本的第三個數據格 ,以從中繼位置匯入所有 Spark 作業定義。

注意

匯出選項會輸出 json 中繼資料檔案。 確定可從 Fabric 存取 Spark 作業定義可執行檔、參考檔案和引數。