練習 - 在 Azure Data Factory 中使用計算轉換

已完成

在某些情況下,大規模無程式碼轉換可能不符合您的需求。 您可以使用 Azure Data Factory 來內嵌從不同來源收集的未經處理資料,並搭配使用一系列的計算資源 (例如 Azure Databricks、Azure HDInsight 或其他計算資源),依據您的需求加以重建。

ADF 與 Azure Databricks

舉例來說,整合 Azure Databricks 與 ADF 後,可讓您在 ADF 管線內新增 Databricks 筆記本,以充分運用 Databricks 的分析與資料轉換功能。 您可以在資料工作流程內新增 Notebook,建構和轉換從不同來源載入 ADF 的未經處理資料。 使用 Databricks 轉換資料之後,便可將資料載入任何資料倉儲來源。

資料擷取和轉換使用 ADF 與 Azure Databricks 的共同功能,基本上包含下列步驟:

  1. 建立 Azure 儲存體帳戶 - 第一個步驟是建立 Azure 儲存體帳戶,儲存內嵌和轉換的資料。

  2. 建立 Azure Data Factory - 儲存體帳戶設定完成之後,您必須使用 Azure 入口網站,建立 Azure Data Factory。

  3. 建立資料工作流程管線 - 在儲存體與 ADF 啟動並執行之後,首先要建立管線,第一個步驟就是使用 ADF 的複製活動從您的來源複製資料。 複製活動可讓您從不同的內部部署和雲端來源複製資料。

  4. 將 Databricks Notebook 新增至管線 - 您可在將資料複製到 ADF 的複製活動之後,將 Databricks Notebook 新增至管線。 此 Notebook 可包含語法和程式碼,視需要轉換和清除未經處理的資料。

  5. 對資料執行分析 - 現在您的資料已清除並重新建構為所需的格式,您可以使用 Databricks Notebook,進一步訓練或分析資料,以輸出所要的結果。

您已了解什麼是 Azure Data Factory,以及其如何與 Azure Databricks 整合,協助您載入和轉換資料。 現在讓我們建立端對端範例資料工作流程。

使用 Azure Data Factory 管線整合 Azure Databricks 筆記本

您必須執行一些工作才能將 Azure Databricks 筆記本與 Azure Data Factory 管線整合,如下所示:

  1. 產生 Databricks 存取權杖。

  2. 產生 Databricks 筆記本

  3. 建立連結服務

  4. 建立使用 Databricks 筆記本活動的管線。

  5. 觸發管線執行。

    注意

    下列步驟假設已經佈建 Azure Databricks 叢集

工作 1:產生 Databricks 存取權杖。

  1. 在 Azure 入口網站中,按一下 [資源群組],再按一下 [awrgstudxx],然後按一下 [awdbwsstudxx],其中 xx 是您姓名的縮寫。

  2. 按一下 [啟動工作區]

  3. 按一下 Databricks 工作區左下角的使用者 [設定]

  4. 按一下 [使用者設定]

  5. 移至 [存取權杖] 索引標籤,然後按一下 [產生新的權杖] 按鈕。

  6. 在 [ADF 整合] 註解中輸入描述,並設定 10 天的存留期,然後按一下 [產生]

  7. 複製所產生的權杖並儲存在記事本中,然後按一下 [完成]

工作 2:產生 Databricks 筆記本

  1. 在畫面的左側按一下工作區圖示,然後按一下 [Word] 工作區旁的箭頭,再按一下 [建立],然後按一下 [資料夾]。 將資料夾命名為 adftutorial,然後按一下 [建立資料夾]。 此時 adftutorial 資料夾就會出現在工作區中。

  2. 按一下 [adftutorial] 旁的下拉箭頭,然後按一下 [建立],再按一下 [筆記本]

  3. 在 [建立筆記本] 對話方塊中,輸入 mynotebook 的名稱,並確定語言指出的是 [Python],然後按一下 [建立]。 此時會顯示標題為 mynotebook 的筆記本/

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

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

    注意

    筆記本路徑為 /adftutorial/mynotebook

工作 3:建立連結服務

  1. 在 Microsoft Edge 中,按一下 Azure 入口網站的索引標籤,然後返回 Azure Data Factory,按一下 [開啟 Azure Data Factory Studio]。

  2. 在畫面的左側,按一下 [管理] 圖示。

  3. 在 [連線] 底下,按一下 [連結服務]

  4. 在 [連結服務] 中,按一下畫面頂端的 [+ 新增]

  5. 按一下 [計算] 索引標籤,按一下 [Azure Databricks],然後按一下 [繼續]

  6. 在 [新增連結服務 (Azure Databricks)] 畫面中填入下列詳細資料,然後按一下 [完成]

    • [名稱]:xx_dbls,其中 xx 是您的姓名縮寫
    • [Databricks 工作區]:awdbwsstudxx,其中 xx 是您的姓名縮寫
    • [選取叢集]:使用現有內容
    • [網域/區域]:應填入
    • [存取權杖]:從記事本複製存取權杖並貼到此欄位
    • [從現有的叢集選擇]:awdbclstudxx,其中 xx 是您的姓名縮寫
    • 將其他選項保留為預設設定

    注意

    您按一下 [完成] 時,就會返回 [撰寫與監視] 畫面,其中已建立 xx_dbls 以及在先前的練習中建立的其他連結服務。

工作 4:建立使用 Databricks 筆記本活動的管線。

  1. 在畫面左側,按一下 [撰寫] 圖示,然後按一下 [管線]。 此時會開啟具有管線設計工具的索引標籤。

  2. 按一下管線設計工具底部的 [參數] 索引標籤,然後按一下 [+ 新增]

  3. 字串類型建立名稱為 name 的參數

  4. 展開 [活動] 功能表下方的 [Databricks]

  5. 按一下並將 [筆記本] 拖曳到畫布上。

  6. 在底部 [Notebook1] 視窗的屬性中,完成下列步驟:

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

    • 選取您在上一個程序中建立的 [xx_dbls]

    • 切換至 [設定] 索引標籤,並將 /adftutorial/mynotebook 放在筆記本路徑中。

    • 展開 [基底參數],然後按一下 [+ 新增]

    • 建立名稱為 input 的參數,其值為 @pipeline().parameters.name

  7. 在 [Notebook1] 中,按一下 [儲存成範本] 按鈕旁的 [驗證]。 此時畫面右邊會顯示一個視窗,表示「您的管線已驗證。 找不到錯誤。」按一下 >> 以關閉視窗。

  8. 按一下 [全部發佈] 以發佈連結服務和管線。

    注意

    此時會顯示一則訊息說明部署成功。

工作 5:觸發管線執行

  1. 在 [Notebook1] 中,按一下 [新增觸發程序],然後按一下 [偵錯] 按鈕旁的 [立即觸發]

  2. [管線執行] 對話方塊會要求 name 參數。 在此使用 /path/filename 作為參數。 按一下完成。 此時畫布中的 [Notebook1] 活動上方會出現一個紅色圓圈。

工作 6:監視管線

  1. 在畫面的左側,按一下 [監視] 索引標籤。確認您看到管線執行。 大約需要 5-8 分鐘的時間建立 Databricks 作業叢集 (執行筆記本的位置)。

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

  3. 若要檢視與管線執行相關聯的活動執行,請選取 [動作] 資料行中的 [檢視活動執行]

工作 7:驗證輸出

  1. 在 Microsoft Edge 中,按一下 [mynotebook - Databricks] 索引標籤

  2. 在 [Azure Databricks] 工作區中按一下 [叢集],您就可以看到作業狀態為「暫止執行」、「執行中」或「已終止」。

  3. 按一下 [awdbclstudxx] 叢集,然後按一下 [事件記錄檔] 以檢視活動。

    注意

    您應該會看到一個 [啟動中] 事件類型以及您觸發管線執行的時間。