適用於:
Azure Data Factory
Azure Synapse Analytics
秘訣
Data Factory in Microsoft Fabric 是下一代的 Azure Data Factory,擁有更簡單的架構、內建 AI 及新功能。 如果你是資料整合新手,建議先從 Fabric Data Factory 開始。 現有的 ADF 工作負載可升級至 Fabric,以存取資料科學、即時分析與報告等新能力。
在本教學中,你將利用 Azure Data Factory 使用者介面 (UX) 建立一個資料流程,利用映射資料流將資料從 Azure Data Lake Storage (ADLS) Gen2 來源複製並轉換到 ADLS Gen2 接收端。 本教學課程中的設定模式,可在使用對應資料流程轉換資料時獲得擴展
本教學指南旨在一般性地繪製資料流。 資料流在 Azure Data Factory 和 Synapse Pipelines 中皆有提供。 如果您是 Azure Synapse Pipelines 資料流的新手,請參考 使用 Azure Synapse Pipelines 的資料流。
在本教學課程中,您會執行下列步驟:
- 建立資料處理站。
- 建立一條包含 Data Flow 動作的管線。
- 建立具有四個轉換的映射資料流。
- 對管線執行測試。
- 監控資料流活動
必要條件
- Azure訂閱。 如果你沒有Azure訂閱,請在開始前建立一個free Azure帳號。
- Azure Data Lake Storage Gen2 帳號。 您使用 ADLS 儲存體作為「來源」和「接收」資料存放區。 如果你沒有儲存帳號,請參考 建立Azure儲存帳號,了解建立的步驟。
- 在這裡下載 MoviesDB.csv。 若要從GitHub擷取檔案,請將內容複製到您選擇的文字編輯器,並本地儲存為 .csv 檔案。 將檔案上傳至儲存體帳戶,位於名為 'sample-data' 的容器。
建立資料處理站
在此步驟中,您可以建立資料處理站,並開啟 Data Factory UX,以在資料處理站中建立管線。
開啟 Microsoft Edge 或 Google Chrome。 目前,Data Factory UI 僅支援 Microsoft Edge 和 Google Chrome 網頁瀏覽器。
在頂端功能表上,選取 [建立資源>分析>Data Factory ] :
Data Factory 在「New」窗格中選擇
在 [新增資料處理站] 頁面的 [名稱] 下,輸入 ADFTutorialDataFactory。
Azure資料工廠的名稱必須為全球唯一。 如果您收到有關名稱值的錯誤訊息,請輸入不同的資料處理站名稱。 (例如,yournameADFTutorialDataFactory)。 如需 Data Factory 成品的命名規則,請參閱 Data Factory 命名規則。
選擇您要在其中建立資料工廠的 Azure 訂閱。
針對 [資源群組],採取下列其中一個步驟︰
選取 [使用現有的] ,然後從下拉式清單選取現有的資源群組。
選取 [建立新的] ,然後輸入資源群組的名稱。
想了解資源群組,請參見 Use resource groups to manage your Azure resources。
在 [版本] 下,選取 [V2]。
在 [區域] 下,選取數據處理站的位置。 只有受到支援的位置會顯示在下拉式清單中。 資料工廠使用的資料儲存(例如 Azure Storage 和 SQL Database)以及運算(例如 Azure HDInsight)可以位於其他區域。
選取 [檢閱 + 建立],然後選取 [建立]。
建立完成後,您會在 [通知中心] 看到通知。 選擇前往資源以導覽至資料工廠頁面。
選取 [啟動工作室] 以在個別索引標籤中啟動 Data Factory 工作室。
建立包含資料流程活動的管線
在此步驟中,你會建立一個包含 Data Flow 活動的管線。
在 Azure Data Factory 首頁,選擇 Orchestrate。
新管線的視窗現在開啟。 在管線屬性的 [ 一般 ] 索引標籤中,將管線的名稱輸入為 TransformMovies。
在 [活動] 窗格中,展開 [移動和轉換] 摺疊式功能表。 將資料流程活動從窗格拖放至管線畫布。
將數據流活動命名 為 DataFlow1。
在管線畫布頂端列中,將資料流程偵錯滑桿滑動為開啟。 偵錯模式可讓您對即時 Spark 叢集進行轉換邏輯的互動式測試。 Data Flow 叢集預熱需 5-7 分鐘,建議若有開發 Data Flow 的用戶,應先開啟除錯功能。 如需詳細資訊,請參閱偵錯模式。
在資料流程畫布中建置轉換邏輯
在此步驟中,您會建置一個數據流,從 ADLS 儲存中提取 moviesDB.csv,並計算 1910 年至 2000 年間喜劇的平均評分。 接著,您會將此檔案寫回 ADLS 記憶體。
在畫布下方的面板中,移至數據流活動的 [ 設定 ],然後選取 [ 新增],位於 [數據流] 字段旁邊。 這會開啟數據流畫布。
在 [一般] 下的 [屬性] 窗格中,為您的數據流命名:TransformMovies。
在數據流畫布中,選取 [ 新增來源 ] 方塊來新增來源。
將來源命名為 MoviesDB。 選取 [新增] 以建立新的來源資料集。
選擇Azure Data Lake Storage Gen2。 選取 [繼續]。
選擇 DelimitedText。 選取 [繼續]。
將資料集命名為 MoviesDB。 在連結服務下拉式清單中,選擇 [新增]。
在連結服務建立畫面中,將 ADLS gen2 連結服務命名為 ADLSGen2,並指定驗證方法。 然後輸入您的連線認證。 本教學中我們使用帳號密鑰連接至存儲帳號。 您可以選取 [ 測試連線 ],確認已正確輸入認證。 完成時選取 [建立]。
Azure Data Lake Storage 的相連服務創建面板截圖。
回到資料集建立畫面之後,請在 [檔案路徑] 欄位下輸入檔案的所在位置。 在本教學課程中,moviesDB.csv 檔案位於容器範例資料中。 當檔案有標頭時,請核取 [第一個資料列為標頭]。 選取 [從連線/存放區],以直接從儲存體中的檔案匯入標頭結構描述。 完成時選取 [確定]。
如果您的偵錯叢集已啟動,請前往來源轉換的 [資料預覽] 索引標籤,然後選取 [重新整理] 以取得資料的快照集。 您可以使用資料預覽來確認是否已正確設定轉換。
在資料流程畫布的來源節點旁,選取加號圖示以新增轉換。 您要新增的第一個轉換是篩選。
將篩選轉換命名為 FilterYears。 選取 [篩選] 旁的表達式框,然後開啟 [表達式生成器]。 您可以在這裡指定篩選條件。
資料流程運算式產生器可讓您以互動方式建立要在各種轉換中使用的運算式。 運算式可以包含內建函式、輸入結構描述中的資料行,以及使用者定義的參數。 欲了解更多如何建立表達式的資訊,請參閱 Data Flow表達式建構器。
在本教學課程中,您想要篩選在 1910 年到 2000 年之間上映的喜歌劇內容類型電影。 當年份目前為字串時,您必須使用
toInteger()函式將其轉換成整數。 使用大於或等於 (>=) 和小於或等於 (<=) 運算子,針對常值年份值 1910 和 2000 進行比較。 使用 and(&&) 運算子來聯合這些運算式。 表達式如下所示:toInteger(year) >= 1910 && toInteger(year) <= 2000若要找出哪些電影是喜歌劇,您可以使用
rlike()函式來尋找資料行內容類型中的「喜歌劇」模式。 將rlike表達式與年份的比較進行聯集,以取得:toInteger(year) >= 1910 && toInteger(year) <= 2000 && rlike(genres, 'Comedy')如果您有活動中的除錯叢集,您可以選取重新整理來驗證您的邏輯,以查看表達式輸出與所使用的輸入的比較結果。 如何使用資料流程運算式語言來完成這項邏輯的正確解答不只一個。
完成表達式之後,請選取 [儲存] 和 [完成 ]。
擷取 [資料預覽] 以確認篩選是否正常運作。
下一個要新增的轉換是彙總轉換,位於Schema modifier(結構描述修飾詞)之下。
將彙總轉換命名為 AggregateComedyRatings。 在 [分組方式] 標籤中,從下拉式選單中選擇 [年份],將彙總依照電影上映年份進行分組。
移至 [彙總] 索引標籤。在左側文字輸入框中,將彙總資料行命名為 AverageComedyRating。 選取右側運算式方塊,透過運算式產生器輸入彙總運算式。
若要取得資料行 Rating 的平均值,請使用
avg()彙總函式。 由於 Rating 為字串且avg()接受數字輸入,因此我們必須透過toInteger()函式將值轉換成數字。 此表達看起來像這樣:avg(toInteger(Rating))完成時選取 [儲存] 和 [ 完成 ]。
前往 [資料預覽] 索引標籤以檢視轉換輸出。 請注意,其中只有兩個資料行:[year] 和 [AverageComedyRating]。
接下來,您想要在 [目的地] 下新增接收器轉換。
將您的匯集器命名為 Sink。 選取 [新增] 以建立您的接收器資料集。
選擇Azure Data Lake Storage Gen2。 選取 [繼續]。
螢幕擷取畫面顯示的你可以選擇的 Azure Data Lake Storage Gen2 圖塊。 選擇 DelimitedText。 選取 [繼續]。
將接收器資料集命名為 MoviesSink。 針對連結服務,選擇您在步驟 6 中建立的 ADLS gen2 連結服務。 輸入要寫入資料的輸出資料夾。 在本教程中,我們會將資料寫入容器 'sample-data' 中的 'output' 資料夾。 此資料夾不需要事先存在,而且可以動態建立。 將 [第一個資料列為標頭] 設定為 True,並針對 [匯入結構描述] 選取 [無]。 選擇 [完成]。
現在您已經完成了資料流程的建立。 可以立即在管線中執行。
執行與監控資料流
您可以在發佈管線之前先進行偵錯。 在此步驟中,您將觸發資料流程管線的偵錯執行。 雖然資料預覽不會寫入資料,但偵錯執行會將資料寫入至您的接收目的地。
前往管線畫布。 選取 [偵錯] 以觸發偵錯執行。
Data Flow 活動的管線除錯使用主動除錯叢集,但初始化仍需至少一分鐘。 您可以透過 [ 輸出 ] 索引標籤來追蹤進度。執行成功之後,將滑鼠停留在執行上方,然後選取眼鏡圖示以開啟監視窗格。
在監視窗格中,選取 [ 階段 ] 按鈕以查看每個轉換步驟所花費的數據列數和時間。
選擇轉換以取得數據欄位和分割的詳細資訊。
如果您正確遵循本教學課程的內容,應該已將 83 個資料列和 2 個資料行寫入您的接收資料夾。 您可以檢查 Blob 儲存體來確認資料是否正確無誤。
相關內容
本教學課程中的管線會執行資料流程,其會匯總從 1910 年到 2000 年之間喜歌劇的平均評等,並將資料寫入 ADLS。 您已了解如何:
- 建立資料處理站。
- 建立一條包含 Data Flow 動作的管線。
- 建立具有四個轉換的映射資料流。
- 對管線執行測試。
- 監控資料流活動
深入了解資料流程運算式語言。