練習 - 在 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 的共同功能,基本上包含下列步驟:
建立 Azure 儲存體帳戶 - 第一個步驟是建立 Azure 儲存體帳戶,儲存內嵌和轉換的資料。
建立 Azure Data Factory - 儲存體帳戶設定完成之後,您必須使用 Azure 入口網站,建立 Azure Data Factory。
建立資料工作流程管線 - 在儲存體與 ADF 啟動並執行之後,首先要建立管線,第一個步驟就是使用 ADF 的複製活動從您的來源複製資料。 複製活動可讓您從不同的內部部署和雲端來源複製資料。
將 Databricks Notebook 新增至管線 - 您可在將資料複製到 ADF 的複製活動之後,將 Databricks Notebook 新增至管線。 此 Notebook 可包含語法和程式碼,視需要轉換和清除未經處理的資料。
對資料執行分析 - 現在您的資料已清除並重新建構為所需的格式,您可以使用 Databricks Notebook,進一步訓練或分析資料,以輸出所要的結果。
您已了解什麼是 Azure Data Factory,以及其如何與 Azure Databricks 整合,協助您載入和轉換資料。 現在讓我們建立端對端範例資料工作流程。
使用 Azure Data Factory 管線整合 Azure Databricks 筆記本
您必須執行一些工作才能將 Azure Databricks 筆記本與 Azure Data Factory 管線整合,如下所示:
產生 Databricks 存取權杖。
產生 Databricks 筆記本
建立連結服務
建立使用 Databricks 筆記本活動的管線。
觸發管線執行。
注意
下列步驟假設已經佈建 Azure Databricks 叢集
工作 1:產生 Databricks 存取權杖。
在 Azure 入口網站中,按一下 [資源群組],再按一下 [awrgstudxx],然後按一下 [awdbwsstudxx],其中 xx 是您姓名的縮寫。
按一下 [啟動工作區]
按一下 Databricks 工作區左下角的使用者 [設定]。
按一下 [使用者設定]。
移至 [存取權杖] 索引標籤,然後按一下 [產生新的權杖] 按鈕。
在 [ADF 整合] 註解中輸入描述,並設定 10 天的存留期,然後按一下 [產生]
複製所產生的權杖並儲存在記事本中,然後按一下 [完成]。
工作 2:產生 Databricks 筆記本
在畫面的左側按一下工作區圖示,然後按一下 [Word] 工作區旁的箭頭,再按一下 [建立],然後按一下 [資料夾]。 將資料夾命名為 adftutorial,然後按一下 [建立資料夾]。 此時 adftutorial 資料夾就會出現在工作區中。
按一下 [adftutorial] 旁的下拉箭頭,然後按一下 [建立],再按一下 [筆記本]。
在 [建立筆記本] 對話方塊中,輸入 mynotebook 的名稱,並確定語言指出的是 [Python],然後按一下 [建立]。 此時會顯示標題為 mynotebook 的筆記本/
在新建立的筆記本 [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:建立連結服務
在 Microsoft Edge 中,按一下 Azure 入口網站的索引標籤,然後返回 Azure Data Factory,按一下 [開啟 Azure Data Factory Studio]。
在畫面的左側,按一下 [管理] 圖示。
在 [連線] 底下,按一下 [連結服務]。
在 [連結服務] 中,按一下畫面頂端的 [+ 新增]。
按一下 [計算] 索引標籤,按一下 [Azure Databricks],然後按一下 [繼續]。
在 [新增連結服務 (Azure Databricks)] 畫面中填入下列詳細資料,然後按一下 [完成]
- [名稱]:xx_dbls,其中 xx 是您的姓名縮寫
- [Databricks 工作區]:awdbwsstudxx,其中 xx 是您的姓名縮寫
- [選取叢集]:使用現有內容
- [網域/區域]:應填入
- [存取權杖]:從記事本複製存取權杖並貼到此欄位
- [從現有的叢集選擇]:awdbclstudxx,其中 xx 是您的姓名縮寫
- 將其他選項保留為預設設定
注意
您按一下 [完成] 時,就會返回 [撰寫與監視] 畫面,其中已建立 xx_dbls 以及在先前的練習中建立的其他連結服務。
工作 4:建立使用 Databricks 筆記本活動的管線。
在畫面左側,按一下 [撰寫] 圖示,然後按一下 [管線]。 此時會開啟具有管線設計工具的索引標籤。
按一下管線設計工具底部的 [參數] 索引標籤,然後按一下 [+ 新增]
以字串類型建立名稱為 name 的參數
展開 [活動] 功能表下方的 [Databricks]。
按一下並將 [筆記本] 拖曳到畫布上。
在底部 [Notebook1] 視窗的屬性中,完成下列步驟:
切換至 [Azure Databricks] 索引標籤。
選取您在上一個程序中建立的 [xx_dbls]。
切換至 [設定] 索引標籤,並將 /adftutorial/mynotebook 放在筆記本路徑中。
展開 [基底參數],然後按一下 [+ 新增]
建立名稱為 input 的參數,其值為 @pipeline().parameters.name
在 [Notebook1] 中,按一下 [儲存成範本] 按鈕旁的 [驗證]。 此時畫面右邊會顯示一個視窗,表示「您的管線已驗證。 找不到錯誤。」按一下 >> 以關閉視窗。
按一下 [全部發佈] 以發佈連結服務和管線。
注意
此時會顯示一則訊息說明部署成功。
工作 5:觸發管線執行
在 [Notebook1] 中,按一下 [新增觸發程序],然後按一下 [偵錯] 按鈕旁的 [立即觸發]。
[管線執行] 對話方塊會要求 name 參數。 在此使用 /path/filename 作為參數。 按一下完成。 此時畫布中的 [Notebook1] 活動上方會出現一個紅色圓圈。
工作 6:監視管線
在畫面的左側,按一下 [監視] 索引標籤。確認您看到管線執行。 大約需要 5-8 分鐘的時間建立 Databricks 作業叢集 (執行筆記本的位置)。
定期選取 [重新整理] 以檢查管線執行的狀態。
若要檢視與管線執行相關聯的活動執行,請選取 [動作] 資料行中的 [檢視活動執行]。
工作 7:驗證輸出
在 Microsoft Edge 中,按一下 [mynotebook - Databricks] 索引標籤
在 [Azure Databricks] 工作區中按一下 [叢集],您就可以看到作業狀態為「暫止執行」、「執行中」或「已終止」。
按一下 [awdbclstudxx] 叢集,然後按一下 [事件記錄檔] 以檢視活動。
注意
您應該會看到一個 [啟動中] 事件類型以及您觸發管線執行的時間。