共用方式為


模組 2:使用資料流程在 Data Factory 中轉換資料

本課程模組需要大約 25 分鐘才能完成。 您可以建立數據流、套用轉換,並將原始數據從 級數據層數據表移至 黃金 數據層數據表。

從上一個模組將原始數據載入到您的銅湖倉資料表後,您現在可以擴充它。 您將把此表與另一個數據表結合,該數據表包含每個廠商及其在某特定日子的行程折扣。 然後,這個最終的 Lakehouse 資料表會被載入並準備好可以取用。

數據流中的高階步驟如下:

先決條件

本教學課程系列的第 1 課:使用 Data Factory 建立管線

從 Lakehouse 資料表取得資料

  1. 從側邊欄中,選取工作區,選取 [新增項目],然後 [Dataflow Gen2] 以建立新的數據流 Gen2。

    顯示 [Fabric 建立] 頁面的螢幕擷取畫面,其中已醒目提示 [Dataflow Gen2] 按鈕。

  2. 從新的資料流程功能表中,選取 [取得資料],然後選取 [更多...]

    顯示 [資料流] 功能表的螢幕擷取畫面,其中已醒目提示 [取得資料] 按鈕並在其功能表中醒目提示 [更多...] 選項。

  3. 搜尋並選取 "Lakehouse" 連接器。

    顯示從 [選擇資料來源] 功能表選取 Lakehouse 資料來源的螢幕擷取畫面。

  4. [連線到資料來源] 對話方塊隨即出現,系統會根據目前登入的使用者自動為您建立新連線。 選取 [下一步]。

    顯示使用您目前登入的使用者為新 Lakehouse 設定的 [資料來源設定] 及已選取 [下一步] 按鈕的螢幕擷取畫面。

  5. 隨即顯示 [選擇資料] 對話方塊。 使用瀏覽窗格來尋找您在先前模組中為目的地建立的 Lakehouse,然後選取Tutorial_Lakehouse資料表。 然後選擇 [建立]

    顯示 Lakehouse 瀏覽器的螢幕擷取畫面,其中顯示使用模組 1 中的 複製活動建立的工作區、Lakehouse 和資料表。

  6. (選用) 當您的畫布填入資料之後,您可以設定資料行設定檔資訊,因為這對於資料分析很有用。 您可以套用恰當的轉換,從而精確鎖定合適的資料值。

    若要這樣做,請從緞帶窗格中選取 [選項],然後選取 [資料行設定檔] 底下的前三個選項,然後選取 [確定]

    顯示您資料的資料行選項選取的螢幕擷取畫面。

轉換從 Lakehouse 匯入的資料

  1. 選取第二個資料行的資料行標頭 "IpepPickupDatetime" 中的資料類型圖示,以顯示下拉式功能表,然後從功能表選取資料類型,將資料行從 [日期/時間] 轉換成 [日期] 類型。

    顯示 IpepPickupDatetime 資料行的 [日期] 資料類型的選取範圍。

  2. (選用) 在緞帶的 [首頁] 索引標籤上,從 [管理資料行] 群組中選取 [選擇資料行] 選項。

    顯示資料流編輯器 [首頁] 索引標籤上 [選擇資料行] 按鈕的螢幕擷取畫面。

  3. (選用) 在 [選擇資料行] 對話方塊中,取消選取此處列出的某些資料行,然後選取 [確定]

    • lpepDropoffDatetime
    • puLocationId
    • doLocationId
    • 取貨緯度
    • 下車地點經度
    • rateCodeID

    顯示 [選擇資料行] 對話方塊的螢幕擷取畫面,其中已識別的資料行未被選取。

  4. 選取 storeAndFwdFlag 欄的篩選和排序下拉式選單。 (如果您看到警告 [清單可能不完整],選取 [載入更多] 以查看所有資料。)

    資料行篩選和排序對話方塊的螢幕擷取畫面。

  5. 選擇「Y」以僅顯示套用折扣的資料列,然後選擇[確定]

    顯示僅選取

  6. 選取 "IpepPickupDatetime" 資料行排序和篩選下拉式功能表,然後選取 [日期篩選],並選擇為 [日期] 和 [日期/時間] 類型提供的 [介於...] 篩選。

    顯示選取資料行排序和格式下拉選單中「日期篩選」選項的螢幕擷圖。

  7. 在 [篩選資料列] 對話方塊中,選取介於 2015 年 1 月 1 日到 2015 年 1 月 31 日之間的日期,然後選取 [確定]

    顯示 2015 年 1 月的日期選取範圍的螢幕擷取畫面。

連線到包含折扣資料的 CSV 檔案

在掌握車程數據之後,我們想要載入包含每天和 VendorID 相應折扣的數據,並在將其與車程數據結合之前處理這些數據。

  1. 從資料流程編輯器功能表中的 [首頁] 索引標籤,選取 [取得資料] 選項,然後選擇 [文字/CSV]

    顯示 [首頁] 索引標籤中 [取得資料] 功能表的選取範圍的螢幕擷取畫面,其中已醒目提示 [文字/CSV]。

  2. 在 [連線到資料來源] 對話方塊中,提供下列詳細資料:

    • 檔案路徑或 URL - https://raw.githubusercontent.com/ekote/azure-architect/master/Generated-NYC-Taxi-Green-Discounts.csv
    • 驗證種類 - 匿名

    然後選取下一步

    顯示連線的文字/CSV 設定的螢幕擷取畫面。

  3. 在 [預覽檔案資料] 對話方塊中,選取 [建立]

    顯示 [預覽檔案資料] 對話方塊的螢幕擷取畫面,其中已突出顯示建立按鈕。

轉換折扣資料

  1. 查看資料時,我們看到標題看起來在第一列。 選取預覽方格區域左上方的資料表特色選單,以選取 [使用第一個資料列作為標頭],將其升階為標頭。

    顯示從資料表特色選單選取 [使用第一個資料列作為標頭] 的螢幕擷取畫面。

    注意

    在提升標頭之後,您可以在資料流程編輯器頂端的 [套用的步驟] 窗格中,看到新增了一個步驟,指定資料行的資料類型。

  2. 以滑鼠右鍵按一下 VendorID 資料行,然後從顯示的快捷選單中,選取 取消其他欄透視 選項。 這可讓您將資料行轉換成屬性值組,其中資料行會變成資料列。

    顯示 VendorID 資料行的內容選單的螢幕截圖,並已醒目顯示 [取消旋轉其他資料行]。

  3. 取消樞紐資料表後,按兩下 [屬性] 和 [值] 資料行,並將 [屬性] 變更為 [日期],並將 [值] 變更為 [折扣]

    顯示將 [屬性] 重新命名為 [日期] 和將[值] 重新命名為 [折扣] 之後的資料表資料行的螢幕擷取畫面。

  4. 選取資料行名稱左邊的資料類型功能表,然後選擇 [日期],以變更 [日期] 資料行的資料類型。

    螢幕擷圖顯示為日期欄選擇日期資料類型。

  5. 選取 折扣 資料行,然後選取功能表上的 轉換 索引標籤。 選取 [數字資料行],然後從子選單選取 [標準] 數值轉換,並選擇 [除]

    螢幕擷取畫面顯示選取 [除] 選項以轉換 [折扣] 資料行中的資料。

  6. 在「除」對話方塊中,輸入值 100。

    顯示 [除] 對話方塊的螢幕擷取畫面,其中已輸入值 100,並醒目提示 [確定] 按鈕。

合併車程和折扣資料

下一個步驟是將這兩個資料表合併成單一資料表,其中包含應套用至行程的折扣,以及調整後的總計。

  1. 首先,切換視窗右下角的 [ 圖表檢視 ] 按鈕,讓您可以看到這兩個查詢。

    顯示 [圖表檢視] 切換按鈕的螢幕擷取畫面,其中顯示本教學課程中建立的兩個查詢。

  2. 選取原始數據查詢 (在我們的範例中,其稱為 Bronze),然後在 [ 常用 ] 索引標籤上,選取 [ 合併 ] 功能表並選擇 [ 合併查詢],然後將 查詢合併為新的

    顯示 nyc_taxi 查詢的 [將查詢合併為新選取項目] 的螢幕擷取畫面。

  3. 合併 對話框中,選取 左外部合併,然後從 用於合併的右側表格 下拉選單中選取 Generated-NYC-Taxi-Green-Discounts,然後選取對話框右上方的 [燈泡] 圖示,以查看兩個表格之間欄位的建議對應。

    顯示 [合併] 對話方塊的設定的螢幕擷取畫面,其中顯示建議的資料行對應。

    選擇建議的對應,以映射這兩個數據表中的 VendorID 和日期欄。 當新增兩個映射時,會在每個資料表中突顯相符的欄位標題。

  4. 系統會顯示一則訊息,要求您允許合併來自多個資料來源的資料以檢視結果。 在 [合併] 對話方塊中,選取 [確定]

    顯示核准從多個資料來源合併資料的要求的螢幕擷取畫面,其中已醒目提示 [確定] 按鈕。

  5. 在資料表區域中,您一開始會看到「需要有關資料隱私的資訊」的警告。選取 [繼續] 來處理此警告。

    螢幕擷取畫面顯示合併多個資料來源的警告訊息,其中 [繼續] 按鈕被醒目標示。

  6. 在本教學課程中,選取忽略此文件的隱私權等級檢查,因為這是沒有敏感性資訊的範例數據。 針對您自己的數據源,請設定適當的隱私權等級來保護敏感數據。

    顯示隱私權層級對話框的螢幕快照,其中已選取 [忽略隱私權等級] 選項。

  7. 選取 [儲存]。

  8. 請注意如何在 [圖表] 檢視中建立新查詢,其中顯示新合併查詢與您先前建立的兩個查詢的關聯性。 查看編輯器的資料格窗格,捲動至 [合併查詢資料行] 清單右側,即可看到有一個包含資料表值的新資料行。 這是 "Generated NYC Taxi-Green-Discounts" 資料行,且其類型為 [資料表]。 在資料行標頭中,有兩個方向相反的箭號圖示,可讓您從資料表中選取資料行。 取消選取除了 [折扣] 之外的所有資料行,然後選取 [確定]

    顯示合併查詢螢幕擷取畫面,此畫面中新產生的資料行 Generated-NYC-Taxi-Green-Discounts 的資料行選擇功能表已顯示。

  9. 現在,折扣值處於資料列層級,我們可以建立新的資料行來計算折扣後的總金額。 若要這樣做,請選取編輯器頂端的 [新增資料行] 索引標籤,然後從 [一般] 群組中選擇 [自訂資料行] 資料行。

    螢幕擷取畫面顯示 [新增自訂資料行] 按鈕被突出顯示於 [新增資料行] 標籤中的 [一般] 區段。

  10. 在 [自訂資料行] 對話方塊中,您可以使用 Power Query 公式語言 (也稱為 M) 來定義應如何計算新資料行。 針對 [新增資料行名稱] 輸入 "TotalAfterDiscount",選取 [資料類型] 的 [貨幣],並為 [自訂資料行公式] 提供下列 M 運算式:

    如果 [totalAmount] > 0,則 [totalAmount] * ( 1 -[Discount] ),否則 [totalAmount]

    然後選取確定

    顯示 [自定義數據行組態] 畫面的螢幕快照,其中已醒目提示 [新增數據行名稱]、[數據類型] 和 [自定義數據行公式]。

  11. 選取新建立的 "TotalAfterDiscount" 資料行,然後選取編輯器視窗頂端的 [轉換] 索引標籤。 在 [數字資料行] 群組中,選取 [四捨五入] 下拉式清單,然後選擇 [四捨五入...]

    顯示編輯器窗口的 [轉換] 索引標籤上的

  12. Round 對話方塊 中,輸入 2 作為小數位數,然後選擇 確定

    顯示四捨五入對話方塊的螢幕擷取畫面,其中小數位數設定為 2,並已醒目提示 [確定] 按鈕。

  13. 將 IpepPickupDatetime 的資料類型從 [日期] 變更為 [日期/時間]。

    顯示選擇 IpepPickupDatetime 資料行的日期/時間資料類型的螢幕截圖。

  14. 最後,如果尚未展開查詢,則請從編輯器右側展開 [查詢設定] 窗格,然後將查詢從 [合併] 重新命名為 [輸出]

    顯示將查詢從 [合併] 重新命名為 [輸出] 的螢幕擷取畫面。

將輸出查詢載入 Lakehouse 中的資料表

現在輸出查詢已準備妥善,且資料已準備好輸出,我們可以定義查詢的輸出目的地。

  1. 選取先前建立的 [輸出] 合併查詢。 然後選取編輯器中的 [首頁] 索引標籤,並從 [查詢] 分組中選擇 [新增資料目的地],以選取 "Lakehouse" 作為目的地。

    顯示 [新增資料目的地] 按鈕的螢幕快照,其中已醒目提示 Lakehouse。

  2. 在 [連線到資料目的地] 對話方塊中,您的連線應已被選取。 選取下一步以繼續。

  3. 在 [選擇目的地目標] 對話方塊中,瀏覽至您想要載入資料的 Lakehouse,並將新資料表命名為 "nyc_taxi_with_discounts",然後再次選取 [下一步]

    顯示 [選擇目的地目標] 對話方塊的螢幕擷取畫面,其中含有資料表名稱 nyc_taxi_with_discounts。

  4. 在 [ 選擇目的地設定 ] 對話框中,您可以使用自動設定,或取消選取自動設定,並保留預設 的 [取代 更新方法],再次檢查您的數據行是否已正確對應,然後選取 [ 儲存設定]。

    顯示 [選擇目的地設定] 對話方塊的螢幕擷取畫面,其中已醒目提示 [儲存設定] 按鈕。

  5. 在主編輯器視窗中,確認您在 [資料目的地] 下方 [輸出數據表] 的 [查詢設定] 窗格中看到輸出目的地,然後選取 [儲存*]。

    重要

    在工作區中建立第一個 Dataflow Gen2 時,Lakehouse 和倉儲項目會連同其相關的 SQL 分析端點和語意模型一起佈建。 這些項目會由工作區中的所有資料流程共用,而且 Dataflow Gen2 必須運作、不應該刪除,而且不適合由使用者直接使用。 這些項目皆為 Dataflow Gen2 的實作詳細資料。 在工作區中不會顯示這些項目,但可能可在如 Notebook、SQL 端點、Lakehouse 和倉儲體驗等其他體驗中存取。 您可以使用名稱中的項目前置詞來辨識項目。 項目的前置詞為 `DataflowsStaging'。

  6. (選擇性) 在工作區頁面上,您可以選取選取資料列之後出現的數據流名稱右邊的省略號,然後選擇 [ 設定] 來重新命名數據流。 在此範例中,我們將它重新命名為 nyc_taxi_with_discounts

    螢幕擷取畫面顯示資料流程的功能表,其中選取了 [屬性] 選項,可在此重新命名資料流程。

  7. 選取 [ 更多選項 ] 省略號下方數據流的重新整理圖示,完成時,您應該會看到在 [數據目的地 設定] 中建立的新 Lakehouse 數據表。

    顯示重新整理按鈕選取以重新整理數據流的螢幕快照。

  8. 請檢查您的 Lakehouse,以檢視在那裡載入的新資料表。

後續步驟

繼續進行下一節以整合您的管線。