藉由執行 Synapse 筆記本來轉換資料

適用於:Azure Data Factory Azure Synapse Analytics

提示

試用 Microsoft Fabric 中的 Data Factory,這是適用於企業的全方位分析解決方案。 Microsoft Fabric 涵蓋從資料移動到資料科學、即時分析、商業智慧和報告的所有項目。 了解如何免費開始新的試用

管線中的 Azure Synapse 筆記本活動會在 Azure Synapse Analytics 工作區中執行 Synapse 筆記本。 本文是根據 資料轉換活動 一文,它呈現資料轉換和支援的轉換活動的一般概觀。

您可以直接透過 Azure Data Factory Studio 使用者介面建立 Azure Synapse Analytics 筆記本活動。 如需如何使用使用者介面建立 Synapse 筆記本活動的逐步解說,您可以參考下列內容。

使用 UI 將適用於 Synapse 的筆記本活動新增至管線

若要在管線中使用適用於 Synapse 的筆記本活動,請完成下列步驟:

一般設定

  1. 在 [管線活動] 窗格中搜尋「筆記本」,然後將 Synapse 之下的筆記本活動拖曳至管線畫布。
  2. 如果尚未選取,請在畫布上選取新的 Notebook 活動。
  3. 在 [一般] 設定中,輸入 [名稱] 的範例。
  4. (選項) 您也可以輸入描述。
  5. 逾時:活動可以執行的最長時間。 預設值為 12 小時,而允許的時間上限為 7 天。 格式是 D.HH:MM:SS (日期.小時:分鐘:秒)。
  6. 重試嘗試:重新嘗試次數的上限。
  7. 重試間隔 (秒):每次重新嘗試間隔的秒數。
  8. 安全輸出:核取時,活動輸出不會擷取至記錄。
  9. 安全輸入:每次重新嘗試間隔的秒數

Azure Synapse Analytics (Artifacts) 設定

選取 [Azure Synapse Analytics (Artifacts)] 索引標籤,以選取或建立新的 Azure Synapse Analytics 連結服務,該服務將會執行筆記本活動。

Screenshot of the linked service tab for a Notebook activity.

設定索引標籤

  1. 如果尚未選取,請在畫布上選取新的 Synapse 筆記本活動。

  2. 選取 [設定] 索引標籤。

  3. 展開 [筆記本] 清單,您可以在連結的 Azure Synapse Analytics (Artifacts) 中選取現有的筆記本。

  4. 按一下 [開啟] 按鈕,開啟所選取筆記本所在連結服務的頁面。

注意

如果連結服務中的工作區資源識別碼是空的,則會停用 [開啟] 按鈕。

Screenshot of the open button is disabled.

  1. 選取 [設定] 索引標籤,然後選擇筆記本,以及要傳遞至筆記本的選擇性基底參數。

    Screenshot of the Settings tab for a Notebook activity.

  2. (選擇性) 您可以填入 Synapse 筆記本的資訊。 如果下列設定是空的,則 Synapse 筆記本本身的設定會用於執行;如果下列設定不是空的,這些設定將會取代 Synapse 筆記本本身的設定。

    屬性 說明
    Spark 集區 Spark 集區的參考。 您可以從清單中選取 Apache Spark 集區。
    執行程式大小 配置在工作階段之指定 Apache Spark 集區中的執行程式所要使用的核心與記憶體數目。 對於動態內容,有效值為 Small/Medium/Large/XLarge/XXLarge。
    動態配置執行程式 此設定會對應到 Spark 設定中的動態配置屬性,以進行 Spark 應用程式執行程式配置。
    執行程式數目下限 要在針對工作所指定 Spark 集區中配置的執行程式數目下限。
    執行程式數目上限 要在針對工作所指定 Spark 集區中配置的執行程式數目上限。
    驅動程式大小 在指定 Apache Spark 集區中提供給作業使用的驅動程式所能使用的核心和記憶體數目。

Azure Synapse Analytics 筆記本活動定義

以下是 Azure Synapse Analytics 筆記本活動的範例 JSON 定義:

{
    "activities": [
            {
                "name": "demo",
                "description": "description",
                "type": "SynapseNotebook",
                "dependsOn": [],
                "policy": {
                    "timeout": "7.00:00:00",
                    "retry": 0,
                    "retryIntervalInSeconds": 30,
                    "secureOutput": false,
                    "secureInput": false
                },
                "userProperties": [
                    {
                        "name": "testproperties",
                        "value": "test123"
                    }
                ],
                "typeProperties": {
                    "notebook": {
                        "referenceName": {
                            "value": "Notebookname",
                            "type": "Expression"
                        },
                        "type": "NotebookReference"
                    },
                    "parameters": {
                        "test": {
                            "value": "testvalue",
                            "type": "string"
                        }
                    },
                    "snapshot": true,
                    "sparkPool": {
                        "referenceName": {
                            "value": "SampleSpark",
                            "type": "Expression"
                        },
                        "type": "BigDataPoolReference"
                    }
                },
                "linkedServiceName": {
                    "referenceName": "AzureSynapseArtifacts1",
                    "type": "LinkedServiceReference"
                }
            }
        ]
    }

Azure Synapse Analytics 筆記本活動屬性

下表說明 JSON 定義中使用的 JSON 屬性:

屬性 描述 必要
NAME 管線中的活動名稱。 Yes
description 說明活動用途的文字。 No
type 針對 Azure Synapse Analytics 筆記本活動,活動類型為 SynapseNotebook。 Yes
notebook 要在 Azure Synapse Analytics 中執行的筆記本名稱。 Yes
sparkPool 執行 Azure Synapse Analytics 筆記本所需的 Spark 集區。 No
parameter 執行 Azure Synapse Analytics 筆記本所需的參數。 如需詳細資訊,請參閱藉由執行 Synapse 筆記本來轉換資料 No

指定參數儲存格

Azure Data Factory 會尋找參數資料格,並使用這些值做為在執行時間所傳入參數的預設值。 執行引擎會在參數資料格下方新增資料格,且帶有輸入參數來覆寫預設值。 您可以參考藉由執行 Synapse 筆記本來轉換資料

讀取 Synapse 筆記本資料格輸出值

您可以在活動中讀取筆記本資料格輸出值,針對此面板,您可以參考藉由執行 Synapse 筆記本來轉換資料

執行另一個 Synapse 筆記本

您可以透過呼叫 %run magicmssparkutils 筆記本公用程式,在 Synapse 筆記本活動中參考其他筆記本。 兩者都支援巢狀函式呼叫。 根據您的案例,這兩種方法您應該考慮的主要差異如下:

  • %run magic 會將參考筆記本中的所有資料格複製至 %run 資料格,並共用變數內容。 若 notebook1 透過 %run notebook2 參考 notebook2,且 notebook2 呼叫 mssparkutils.notebook.exit 函式,則系統會停止在 notebook1 中執行資料格。 當您想要「包含」筆記本檔案時,建議您使用 %run magic。
  • mssparkutils 筆記本公用程式會呼叫參考的筆記本做為方法或函式。 系統不會共用變數內容。 若 notebook1 透過 mssparkutils.notebook.run("notebook2") 參考 notebook2,且 notebook2 呼叫 mssparkutils.notebook.exit 函式,則系統會繼續在 notebook1 中執行資料格。 若要「匯入」筆記本,建議您使用 mssparkutils 筆記本公用程式。

請參閱 Azure Synapse Analytics 筆記本活動執行歷程記錄

移至 [監視] 索引標籤之下的 [管線執行],您會看到已觸發的管線。 開啟包含筆記本活動的管線,以查看執行歷程記錄。

Screenshot of the input and output for a Notebook activity.

針對開啟筆記本快照集,目前不支援此功能。

您可以藉由選取 [輸入] 或 [輸出] 按鈕,查看筆記本活動輸入或輸出。 若管線因使用者錯誤而失敗,請選取 [輸出] 來檢查 [結果] 欄位,以查看詳細的使用者錯誤追溯。

Screenshot of the output user error for a Notebook activity.