在 Azure Data Factory 中使用 Databricks Notebook 活動執行 Databricks Notebook

適用於:Azure Data Factory Azure Synapse Analytics

提示

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

在本教學課程中,您會使用 Azure 入口網站來建立 Azure Data Factory 管線,以便針對 databricks 作業叢集執行 Databricks Notebook。 它也會在執行期間將 Azure Data Factory 參數傳遞至 Databricks Notebook。

您會在本教學課程中執行下列步驟:

  • 建立資料處理站。

  • 建立使用 Databricks Notebook 活動的管線。

  • 觸發管線執行。

  • 監視管道執行。

如尚未擁有 Azure 訂用帳戶,請在開始之前先建立免費帳戶

如需此功能的簡介與示範,請觀看下列 11 分鐘長的影片:

必要條件

  • Azure Databricks 工作區建立 Databricks 工作區或使用現有的工作區。 您可在 Azure Databricks 工作區中建立 Python Notebook。 然後執行 Notebook,並使用 Azure Data Factory 將參數傳遞給該 Notebook。

建立資料處理站

  1. 啟動 Microsoft EdgeGoogle Chrome 網頁瀏覽器。 目前,只有 Microsoft Edge 和 Google Chrome 網頁瀏覽器支援 Data Factory UI。

  2. 在 Azure 入口網站功能表上,依序選取 [建立資源]、[整合] 及 [Data Factory]

    Screenshot showing Data Factory selection in the New pane.

  3. 在 [建立 Data Factory] 頁面的 [基本資料] 索引標籤下,選取您要在其中建立資料處理站的 Azure 訂用帳戶

  4. 針對 [資源群組],採取下列其中一個步驟︰

    1. 從下拉式清單中選取現有的資源群組。

    2. 選取 [建立新的] ,然後輸入新資源群組的名稱。

    若要了解資源群組,請參閱 使用資源群組管理您的 Azure 資源

  5. 針對 [區域],選取資料處理站的位置。

    清單只會顯示 Data Factory 支援的位置,以及儲存您 Azure Data Factory 中繼資料的位置。 Data Factory 所使用的相關聯資料存放區 (如 Azure 儲存體和 Azure SQL Database) 和計算 (如 Azure HDInsight) 可在其他區域中執行。

  6. 針對 [名稱],輸入 ADFTutorialDataFactory

    Azure Data Factory 的名稱必須是 全域唯一的。 如果您看到下列錯誤,請變更資料處理站的名稱 (例如,使用 <yourname>ADFTutorialDataFactory)。 如需 Data Factory 成品的命名規則,請參閱 Data Factory - 命名規則一文。

    Screenshot showing the Error when a name is not available.

  7. 針對 [版本],選取 [V2]

  8. 完成時,選取 [下一步:Git 組態],接著選取 [稍後設定 Git] 核取方塊。

  9. 選取 [檢閱 +建立],然後在通過驗證後選取 [建立]

  10. 在建立完成後,選取 [前往資源],以瀏覽至 [資料處理站] 頁面。 選取 [開啟 Azure Data Factory Studio] 圖格,以在個別瀏覽器索引標籤上啟動 Azure Data Factory 使用者介面 (UI) 應用程式。

    Screenshot showing the home page for the Azure Data Factory, with the Open Azure Data Factory Studio tile.

建立連結服務

在本節中,您會撰寫 Databricks 連結服務。 此連結服務包含 Databricks 叢集的連線資訊:

建立 Azure Databricks 連結服務

  1. 在首頁,切換至左側面板中的 [管理] 索引標籤。

    Screenshot showing the Manage tab.

  2. 選取 [連線] 底下的 [已連結的服務],然後選取 [+ 新增]

    Screenshot showing how to create a new connection.

  3. 在 [新增已連結的服務] 視窗中,選取 [計算]>[Azure Databricks],然後選取 [繼續]

    Screenshot showing how to specify a Databricks linked service.

  4. 在 [新增已連結的服務] 視窗中,完成下列步驟:

    1. 針對 [名稱],輸入 AzureDatabricks_LinkedService

    2. 選取您要在其中執行筆記本的適當 [Databricks 工作區]

    3. 針對 [選取叢集],選取 [新增作業叢集]

    4. 針對 [Databrick 工作區 URL],應該會自動填入資訊。

    5. 針對 [驗證類型],如果您選取 [存取權杖],請從 Azure Databricks 工作場所加以產生。 您可以在這裡找到步驟。 針對受控服務識別使用者指派的受控識別,請在 Azure Databricks 資源的 [存取控制] 功能表中,將參與者角色授與這兩個身分識別。

    6. 針對 [叢集版本],選取您想要使用的版本。

    7. 針對 [叢集節點類型],為此教學課程選取 [一般用途 (HDD)] 類別底下的 [Standard_D3_v2]

    8. 針對 [背景工作角色],輸入 2

    9. 選取 建立

      Screenshot showing the configuration of the new Azure Databricks linked service.

建立新管線

  1. 選取 + (加號) 按鈕,然後選取功能表上的 [管線]

    Screenshot showing buttons for creating a new pipeline.

  2. 建立要用於 [管線]參數。 稍後您會將此參數傳遞給 Databricks Notebook 活動。 在空的管線中,選取 [參數] 索引標籤,然後選取 [+ 新增],並將其命名為 'name'。

    Screenshot showing how to create a new parameter.

    Screenshot showing how to create the name parameter.

  3. 在 [活動] 工具箱中,展開 [Databricks]。 將 [Notebook] 工具箱中的 [Spark] 活動拖到管線設計工具介面。

    Screenshot showing how to drag the notebook to the designer surface.

  4. 在 [Databricks Notebook] 活動視窗底部的屬性中,完成下列步驟:

    1. 切換至 [Azure Databricks] 索引標籤。

    2. 選取 [AzureDatabricks_LinkedService] (已在上一個程序中建立)。

    3. 切換到 [設定] 索引標籤。

    4. 瀏覽以選取 Databricks Notebook 路徑。 讓我們建立 Notebook 並在此指定路徑。 您可以依照下列步驟取得 Notebook 路徑。

      1. 啟動您的 Azure Databricks 工作區。

      2. 在工作區中建立新資料夾,並將它稱為 adftutorial

        Screenshot showing how to create a new folder.

      3. 顯示如何建立新筆記本的螢幕擷取畫面。 (Python) 在 [adftutorial] 資料夾底下,將其命名為 mynotebook,然後按一下 [建立]

        Screenshot showing how to create a new notebook.

        Screenshot showing how to set the properties of the new notebook.

      4. 在新建立的筆記本 [mynotebook] 中,新增下列程式碼:

        # Creating widgets for leveraging parameters, and printing the parameters
        
        dbutils.widgets.text("input", "","")
        y = dbutils.widgets.get("input")
        print ("Param -\'input':")
        print (y)
        

        Screenshot showing how to create widgets for parameters.

      5. 在此案例中,[筆記本路徑]/adftutorial/mynotebook

  5. 切換回 Data Factory UI 撰寫工具。 瀏覽至 [Notebook1] 活動底下的 [設定] 索引標籤。

    a. 新增參數至 Notebook 活動。 您可使用先前新增至 [管線] 的相同參數。

    Screenshot showing how to add a parameter.

    b. 將參數命名為 input,並以 @pipeline().parameters.name 運算式的形式提供值。

  6. 若要驗證管線,選取工具列上的 [驗證] 按鈕。 若要關閉驗證視窗,請選取 [關閉] 按鈕。

    Screenshot showing how to validate the pipeline.

  7. 選取 [全部發佈]。 Data Factory UI 會將實體 (連結服務和管線) 發佈至 Azure Data Factory 服務。

    Screenshot showing how to publish the new data factory entities.

觸發管線執行

選取工具列上的 [新增觸發程序],然後選取 [立即觸發]

Screenshot showing how to select the 'Trigger now' command.

[管線執行] 對話方塊會要求 name 參數。 在此使用 /path/filename 作為參數。 選取 [確定]。

Screenshot showing how to provide a value for the name parameters.

監視管道執行

  1. 切換至 [監視] 索引標籤。確認您看到管線執行。 大約需要 5-8 分鐘的時間建立 Databricks 作業叢集 (執行筆記本的位置)。

    Screenshot showing how to monitor the pipeline.

  2. 定期選取 [重新整理] 以檢查管線執行的狀態。

  3. 若要查看與管線執行相關聯的活動執行,選取 [管線名稱] 欄底下的 [pipeline1] 連結。

  4. 在 [活動執行] 頁面中,選取 [活動名稱] 欄中的 [輸出] 以檢視每個活動的輸出,而您可以在 [輸出] 窗格中找到 Databricks 記錄的連結,以取得更詳細的 Spark 記錄。

  5. 您可以選取頂端階層連結功能表中的 [所有管線執行] 連結,以切換回管線執行檢視。

驗證輸出

您可以登入 Azure Databricks 工作區,移至 [叢集] 並可看到 [作業] 狀態為「暫止執行」、「執行中」或「已終止」

Screenshot showing how to view the job cluster and the job.

您可以按一下作業名稱並瀏覽以查看進一步的詳細資料。 對於成功的執行,您可以驗證所傳遞的參數和 Python Notebook 的輸出。

Screenshot showing how to view the run details and output.

此範例中的管線會觸發 Databricks Notebook 活動並將參數傳遞給它。 您已了解如何︰

  • 建立資料處理站。

  • 建立使用 Databricks Notebook 活動的管線。

  • 觸發管線執行。

  • 監視管道執行。