本課程模組需要大約 25 分鐘才能完成。 您可以建立數據流、套用轉換,並將原始數據從 銅 級數據層數據表移至 黃金 數據層數據表。
從上一個模組將原始數據載入到您的銅湖倉資料表後,您現在可以擴充它。 您將把此表與另一個數據表結合,該數據表包含每個廠商及其在某特定日子的行程折扣。 然後,這個最終的 Lakehouse 資料表會被載入並準備好可以取用。
數據流中的高階步驟如下:
- 從 模組 1:使用 Data Factory 建立管線中的複製活動所建立的 Lakehouse 表格中獲取原始數據。
- 轉換從 Lakehouse 數據表匯入的數據。
- 連接到包含折扣數據的 CSV 檔案。
- 轉換折扣數據。
- 結合車程和折扣數據。
- 將輸出查詢載入 Gold Lakehouse 資料表。
先決條件
本教學課程系列的第 1 課:使用 Data Factory 建立管線
從 Lakehouse 資料表取得資料
從側邊欄中,選取工作區,選取 [新增項目],然後 [Dataflow Gen2] 以建立新的數據流 Gen2。
從新的資料流程功能表中,選取 [取得資料],然後選取 [更多...]。
搜尋並選取 "Lakehouse" 連接器。
[連線到資料來源] 對話方塊隨即出現,系統會根據目前登入的使用者自動為您建立新連線。 選取 [下一步]。
隨即顯示 [選擇資料] 對話方塊。 使用瀏覽窗格來尋找您在先前模組中為目的地建立的 Lakehouse,然後選取Tutorial_Lakehouse資料表。 然後選擇 [建立]。
(選用) 當您的畫布填入資料之後,您可以設定資料行設定檔資訊,因為這對於資料分析很有用。 您可以套用恰當的轉換,從而精確鎖定合適的資料值。
若要這樣做,請從緞帶窗格中選取 [選項],然後選取 [資料行設定檔] 底下的前三個選項,然後選取 [確定]。
轉換從 Lakehouse 匯入的資料
選取第二個資料行的資料行標頭 "IpepPickupDatetime" 中的資料類型圖示,以顯示下拉式功能表,然後從功能表選取資料類型,將資料行從 [日期/時間] 轉換成 [日期] 類型。
(選用) 在緞帶的 [首頁] 索引標籤上,從 [管理資料行] 群組中選取 [選擇資料行] 選項。
(選用) 在 [選擇資料行] 對話方塊中,取消選取此處列出的某些資料行,然後選取 [確定]。
- lpepDropoffDatetime
- puLocationId
- doLocationId
- 取貨緯度
- 下車地點經度
- rateCodeID
顯示 [選擇資料行] 對話方塊的螢幕擷取畫面,其中已識別的資料行未被選取。
選取 storeAndFwdFlag 欄的篩選和排序下拉式選單。 (如果您看到警告 [清單可能不完整],選取 [載入更多] 以查看所有資料。)
選擇「Y」以僅顯示套用折扣的資料列,然後選擇[確定]。
選取 "IpepPickupDatetime" 資料行排序和篩選下拉式功能表,然後選取 [日期篩選],並選擇為 [日期] 和 [日期/時間] 類型提供的 [介於...] 篩選。
在 [篩選資料列] 對話方塊中,選取介於 2015 年 1 月 1 日到 2015 年 1 月 31 日之間的日期,然後選取 [確定]。
連線到包含折扣資料的 CSV 檔案
在掌握車程數據之後,我們想要載入包含每天和 VendorID 相應折扣的數據,並在將其與車程數據結合之前處理這些數據。
從資料流程編輯器功能表中的 [首頁] 索引標籤,選取 [取得資料] 選項,然後選擇 [文字/CSV]。
在 [連線到資料來源] 對話方塊中,提供下列詳細資料:
-
檔案路徑或 URL -
https://raw.githubusercontent.com/ekote/azure-architect/master/Generated-NYC-Taxi-Green-Discounts.csv - 驗證種類 - 匿名
然後選取下一步。
-
檔案路徑或 URL -
在 [預覽檔案資料] 對話方塊中,選取 [建立]。
轉換折扣資料
查看資料時,我們看到標題看起來在第一列。 選取預覽方格區域左上方的資料表特色選單,以選取 [使用第一個資料列作為標頭],將其升階為標頭。
注意
在提升標頭之後,您可以在資料流程編輯器頂端的 [套用的步驟] 窗格中,看到新增了一個步驟,指定資料行的資料類型。
以滑鼠右鍵按一下 VendorID 資料行,然後從顯示的快捷選單中,選取 取消其他欄透視 選項。 這可讓您將資料行轉換成屬性值組,其中資料行會變成資料列。
取消樞紐資料表後,按兩下 [屬性] 和 [值] 資料行,並將 [屬性] 變更為 [日期],並將 [值] 變更為 [折扣]。
選取資料行名稱左邊的資料類型功能表,然後選擇 [日期],以變更 [日期] 資料行的資料類型。
選取 折扣 資料行,然後選取功能表上的 轉換 索引標籤。 選取 [數字資料行],然後從子選單選取 [標準] 數值轉換,並選擇 [除]。
在「除」對話方塊中,輸入值 100。
合併車程和折扣資料
下一個步驟是將這兩個資料表合併成單一資料表,其中包含應套用至行程的折扣,以及調整後的總計。
首先,切換視窗右下角的 [ 圖表檢視 ] 按鈕,讓您可以看到這兩個查詢。
選取原始數據查詢 (在我們的範例中,其稱為 Bronze),然後在 [ 常用 ] 索引標籤上,選取 [ 合併 ] 功能表並選擇 [ 合併查詢],然後將 查詢合併為新的。
在 合併 對話框中,選取 左外部合併,然後從 用於合併的右側表格 下拉選單中選取 Generated-NYC-Taxi-Green-Discounts,然後選取對話框右上方的 [燈泡] 圖示,以查看兩個表格之間欄位的建議對應。
選擇建議的對應,以映射這兩個數據表中的 VendorID 和日期欄。 當新增兩個映射時,會在每個資料表中突顯相符的欄位標題。
系統會顯示一則訊息,要求您允許合併來自多個資料來源的資料以檢視結果。 在 [合併] 對話方塊中,選取 [確定]。
在資料表區域中,您一開始會看到「需要有關資料隱私的資訊」的警告。選取 [繼續] 來處理此警告。
在本教學課程中,選取忽略此文件的隱私權等級檢查,因為這是沒有敏感性資訊的範例數據。 針對您自己的數據源,請設定適當的隱私權等級來保護敏感數據。
選取 [儲存]。
請注意如何在 [圖表] 檢視中建立新查詢,其中顯示新合併查詢與您先前建立的兩個查詢的關聯性。 查看編輯器的資料格窗格,捲動至 [合併查詢資料行] 清單右側,即可看到有一個包含資料表值的新資料行。 這是 "Generated NYC Taxi-Green-Discounts" 資料行,且其類型為 [資料表]。 在資料行標頭中,有兩個方向相反的箭號圖示,可讓您從資料表中選取資料行。 取消選取除了 [折扣] 之外的所有資料行,然後選取 [確定]。
現在,折扣值處於資料列層級,我們可以建立新的資料行來計算折扣後的總金額。 若要這樣做,請選取編輯器頂端的 [新增資料行] 索引標籤,然後從 [一般] 群組中選擇 [自訂資料行] 資料行。
在 [自訂資料行] 對話方塊中,您可以使用 Power Query 公式語言 (也稱為 M) 來定義應如何計算新資料行。 針對 [新增資料行名稱] 輸入 "TotalAfterDiscount",選取 [資料類型] 的 [貨幣],並為 [自訂資料行公式] 提供下列 M 運算式:
如果 [totalAmount] > 0,則 [totalAmount] * ( 1 -[Discount] ),否則 [totalAmount]
然後選取確定。
選取新建立的 "TotalAfterDiscount" 資料行,然後選取編輯器視窗頂端的 [轉換] 索引標籤。 在 [數字資料行] 群組中,選取 [四捨五入] 下拉式清單,然後選擇 [四捨五入...]。
在 Round 對話方塊 中,輸入 2 作為小數位數,然後選擇 確定。
將 IpepPickupDatetime 的資料類型從 [日期] 變更為 [日期/時間]。
顯示選擇 IpepPickupDatetime 資料行的日期/時間資料類型的螢幕截圖。
最後,如果尚未展開查詢,則請從編輯器右側展開 [查詢設定] 窗格,然後將查詢從 [合併] 重新命名為 [輸出]。
將輸出查詢載入 Lakehouse 中的資料表
現在輸出查詢已準備妥善,且資料已準備好輸出,我們可以定義查詢的輸出目的地。
選取先前建立的 [輸出] 合併查詢。 然後選取編輯器中的 [首頁] 索引標籤,並從 [查詢] 分組中選擇 [新增資料目的地],以選取 "Lakehouse" 作為目的地。
在 [連線到資料目的地] 對話方塊中,您的連線應已被選取。 選取下一步以繼續。
在 [選擇目的地目標] 對話方塊中,瀏覽至您想要載入資料的 Lakehouse,並將新資料表命名為 "nyc_taxi_with_discounts",然後再次選取 [下一步]。
在 [ 選擇目的地設定 ] 對話框中,您可以使用自動設定,或取消選取自動設定,並保留預設 的 [取代 更新方法],再次檢查您的數據行是否已正確對應,然後選取 [ 儲存設定]。
在主編輯器視窗中,確認您在 [資料目的地] 下方 [輸出數據表] 的 [查詢設定] 窗格中看到輸出目的地,然後選取 [儲存*]。
重要
在工作區中建立第一個 Dataflow Gen2 時,Lakehouse 和倉儲項目會連同其相關的 SQL 分析端點和語意模型一起佈建。 這些項目會由工作區中的所有資料流程共用,而且 Dataflow Gen2 必須運作、不應該刪除,而且不適合由使用者直接使用。 這些項目皆為 Dataflow Gen2 的實作詳細資料。 在工作區中不會顯示這些項目,但可能可在如 Notebook、SQL 端點、Lakehouse 和倉儲體驗等其他體驗中存取。 您可以使用名稱中的項目前置詞來辨識項目。 項目的前置詞為 `DataflowsStaging'。
(選擇性) 在工作區頁面上,您可以選取選取資料列之後出現的數據流名稱右邊的省略號,然後選擇 [ 設定] 來重新命名數據流。 在此範例中,我們將它重新命名為 nyc_taxi_with_discounts。
選取 [ 更多選項 ] 省略號下方數據流的重新整理圖示,完成時,您應該會看到在 [數據目的地 設定] 中建立的新 Lakehouse 數據表。
請檢查您的 Lakehouse,以檢視在那裡載入的新資料表。
後續步驟
繼續進行下一節以整合您的管線。