快速入門:使用對應資料流轉換資料

在本快速入門中,您將使用 Azure Synapse Analytics 建立管線,以透過對應資料流將資料從 Azure Data Lake Storage Gen2 (ADLS Gen2) 來源轉換到 ADLS Gen2 接收器。 本快速入門中的設定模式可在使用對應資料流轉換資料時獲得擴展

在本快速入門中,您會執行下列步驟:

  • 在 Azure Synapse Analytics 中建立具有資料流程活動的管線。
  • 建置具有四個轉換的對應資料流。
  • 對管線執行測試。
  • 監視資料流程活動

必要條件

  • Azure 訂閱:如果您沒有 Azure 訂用帳戶,請在開始前建立免費 Azure 帳戶

  • Azure Synapse 工作區:遵循快速入門:建立 Synapse 工作區中的指示,使用 Azure 入口網站建立 Synapse 工作區。

  • Azure 儲存體帳戶:您可以使用 ADLS 儲存體作為「來源」和「接收」資料存放區。 如果您沒有儲存體帳戶,請參閱建立 Azure 儲存體帳戶,按照步驟建立此帳戶。

    我們在本教學課程中轉換的檔案是 MoviesDB.csv,可在這裡找到。 若要從 GitHub 擷取檔案,請將內容複寫到您選擇的文字編輯器,以 .csv 檔案的形式儲存在本機。 若要將檔案上傳到儲存體帳戶,請參閱使用 Azure 入口網站上傳 Blob。 這些範例會參考名為 'sample-data' 的容器。

建立 Azure Synapse 工作區之後,有兩種方式可以開啟 Synapse Studio:

在本快速入門中,我們會使用名為 "adftest2020" 的工作區作為範例。 其會自動讓您瀏覽至 Synapse Studio 首頁。

Synapse Studio 首頁

建立包含資料流程活動的管線

管線包含執行一組活動的邏輯流程。 在本節中,您將建立包含資料流程活動的管線。

  1. 移至 [整合] 索引標籤。選取管線標頭旁的加號圖示,然後選取 [管線]。

    建立新管線

  2. 在管線的 [屬性] 設定頁面中,針對 [名稱] 輸入 TransformMovies

  3. 在 [活動] 窗格的 [移動和轉換] 下,將 [資料流程] 拖曳到管線畫布上。

  4. 在 [新增資料流程] 頁面快顯中,選取 [建立新的資料流程] ->[資料流程]。 完成時按一下 [確定]

    建立資料流程

  5. 在 [屬性] 頁面上,將您的資料流程命名為 TransformMovies

在資料流程畫布中建置轉換邏輯

建立資料流程之後,會自動傳送到資料流程畫布。 在此步驟中,您將建置一個資料流程來擷取 ADLS 儲存體中的 MoviesDB.csv,並彙總 1910 年到 2000 年喜歌劇的平均評等。 然後,您會將此檔案寫回 ADLS 儲存體。

  1. 在資料流程畫布上方,將 [資料流程偵錯] 滑桿滑動到開啟位置。 偵錯模式可讓您對即時 Spark 叢集進行轉換邏輯的互動式測試。 資料流程叢集需要 5-7 分鐘的準備時間,如果使用者想要進行資料流程開發,建議使用者先開啟偵錯功能。 如需詳細資訊,請參閱偵錯模式

    將偵錯滑動到開啟位置

  2. 在資料流程畫布中,按一下 [新增來源] 方塊以新增來源。

  3. 將來源命名為 MoviesDB。 按一下 [新增] 以建立新的來源資料集。

    建立新的來源資料集

  4. 選擇 [Azure Data Lake Storage Gen2]。 按一下 [繼續]。

    選擇 Azure Data Lake Storage Gen2

  5. 選擇 [DelimitedText]。 按一下 [繼續]。

  6. 將資料集命名為 MoviesDB。 在連結服務下拉式清單中,選擇 [新增]。

  7. 在連結服務建立畫面中,將 ADLS Gen2 連結服務命名為 ADLSGen2,並指定驗證方法。 然後輸入您的連線認證。 在本快速入門中,我們將使用帳戶金鑰來連線到我們的儲存體帳戶。 您可以按一下 [測試連線],確認是否正確輸入您的認證。 在完成作業後,按一下 [建立]。

    建立來源連結服務

  8. 回到資料集建立畫面之後,請在 [檔案路徑] 欄位下,輸入您檔案的所在位置。 在本快速入門中,"MoviesDB.csv" 檔案位於容器 "sample-data" 中。 當檔案有標頭時,請核取 [第一個資料列為標頭]。 選取 [從連線/存放區],以直接從儲存體中的檔案匯入標頭結構描述。 完成時按一下 [確定]

    來源資料集設定

  9. 如果您的偵錯叢集已啟動,請前往來源轉換的 [資料預覽] 索引標籤,然後按一下 [重新整理] 以取得資料的快照集。 您可以使用資料預覽來確認是否已正確設定轉換。

    資料預覽

  10. 在資料流程畫布的來源節點旁,按一下加號圖示以新增轉換。 您要新增的第一個轉換是篩選

    新增篩選條件

  11. 將篩選轉換命名為 FilterYears。 按一下 [篩選對象] 旁的運算式方塊,以開啟運算式產生器。 您將在這裡指定篩選條件。

  12. 資料流程運算式產生器可讓您以互動方式建立要在各種轉換中使用的運算式。 運算式可以包含內建函式、輸入結構描述中的資料行,以及使用者定義的參數。 如需如何建立運算式的詳細資訊,請參閱資料流程運算式產生器

    在本快速入門中,您想要篩選在 1910 年到 2000 年之間上映的喜歌劇內容類型電影。 當年份目前為字串時,您必須使用 toInteger() 函式將其轉換成整數。 使用大於或等於 (>=) 和小於或等於 (<=) 運算子,針對常值年份值 1910 和 200- 進行比較。 將這些運算式與 && (AND) 運算子聯集。 產生的運算式如下所示:

    toInteger(year) >= 1910 && toInteger(year) <= 2000

    若要找出哪些電影是喜歌劇,您可以使用 rlike() 函式來尋找資料行內容類型中的「喜歌劇」模式。 將 rlike 運算式與比較年份聯集以取得:

    toInteger(year) >= 1910 && toInteger(year) <= 2000 && rlike(genres, 'Comedy')

    指定篩選條件

    如果您有使用中偵錯叢集,您可以按一下 [重新整理] 查看運算式輸出與所使用輸入的比較來確認您的邏輯。 如何使用資料流程運算式語言來完成這項邏輯的正確解答不只一個。

    完成運算式之後,請按一下 [儲存後結束]。

  13. 擷取 [資料預覽] 以確認篩選是否正常運作。

  14. 下一個要新增的轉換是 [Schema modifier] \(結構描述修飾詞\) 下的彙總轉換。

    新增彙總

  15. 將彙總轉換命名為 AggregateComedyRatings。 在 [分組方式] 索引標籤中,從下拉式清單中選取 [year],以依電影上映年份分組彙總。

    彙總設定 1

  16. 前往 [彙總] 索引標籤。在左側文字方塊中,將彙總資料行命名為 AverageComedyRating。 按一下右側運算式方塊,透過運算式產生器輸入彙總運算式。

    彙總設定 2

  17. 若要取得資料行 Rating 的平均值,請使用 avg() 彙總函式。 由於 Rating 為字串且 avg() 接受數字輸入,因此我們必須透過 toInteger() 函式將值轉換成數字。 此運算式看起來如下所示:

    avg(toInteger(Rating))

    完成時,請按一下 [儲存後結束]。

    新增喜劇評等

  18. 前往 [資料預覽] 索引標籤以檢視轉換輸出。 請注意,其中只有兩個資料行:[year] 和 [AverageComedyRating]。

    彙總資料預覽

  19. 接下來,您想要在 [目的地] 下新增接收器轉換。

    新增接收器

  20. 將您的接收器命名為 Sink。 按一下 [新增] 以建立您的接收器資料集。

  21. 選擇 [Azure Data Lake Storage Gen2]。 按一下 [繼續]。

  22. 選擇 [DelimitedText]。 按一下 [繼續]。

  23. 將接收器資料集命名為 MoviesSink。 針對連結服務,選擇您在步驟 7 中建立的 ADLS Gen2 連結服務。 輸入要寫入資料的輸出資料夾。 在本快速入門中,我們會寫入至容器 'sample-data' 中的資料夾 'output'。 此資料夾不需要事先存在,而且可以動態建立。 將 [第一個資料列為標頭] 設定為 True,並針對 [匯入結構描述] 選取 [無]。 完成時按一下 [確定]

    接收器資料集屬性

現在您已完成建立資料流程, 可以立即在管線中執行。

執行和監視資料流程

您可以在發佈管線之前先進行偵錯。 在此步驟中,您將觸發資料流程管線的偵錯執行。 雖然資料預覽不會寫入資料,但偵錯執行會將資料寫入至您的接收目的地。

  1. 前往管線畫布。 按一下 [偵錯] 以觸發偵錯執行。

    偵錯管線

  2. 資料流程活動的管線偵錯會使用使用中偵錯叢集,但仍需要至少一分鐘的時間來初始化。 您可以透過 [輸出] 索引標籤來追蹤進度。執行成功之後,請按一下眼鏡圖示以開啟監視窗格。

    偵錯輸出

  3. 在監視窗格中,您可以看到每個轉換步驟中的資料列數目及所花費的時間。

    轉換監視

  4. 按一下轉換以取得資料行和資料分割的詳細資訊。

    轉換詳細資料

如果您正確遵循本快速入門進行,則應該已將 83 個資料列和 2 個資料行寫入至您的接收器資料夾。 您可以檢查 Blob 儲存體來確認此資料。

下一步

前往下列文章,以了解 Azure Synapse Analytics 支援: