实验设置说明和要求
保护您的账号和进度。请务必在无痕浏览器窗口中,使用实验凭证运行此实验。

在 Cloud Data Fusion 運用 Wrangler 建構轉換並準備資料

实验 1 小时 30 分钟 universal_currency_alt 5 积分 show_chart 入门级
info 此实验可能会提供 AI 工具来支持您学习。
此内容尚未针对移动设备进行优化。
为获得最佳体验,请在桌面设备上访问通过电子邮件发送的链接。

總覽

資料是資料整合的關鍵。若能邊處理邊查看原始資料,將十分有助於您展開轉換。透過 Wrangler,您可以在資料整合工作流程中,採取資料優先的做法。

ETL (擷取、轉換、載入) 應用程式最常見的資料來源,通常是儲存於逗號分隔值 (CSV) 格式文字檔中的資料,因為許多資料庫系統都會以這種方式匯出及匯入資料。在本實驗室中,您將使用 CSV 檔案,但相同的技術也適用於資料庫來源,以及任何其他可用的 Cloud Data Fusion 資料來源。

目標

本實驗室將說明如何執行下列工作:

  • 建立管道來擷取 CSV 檔案資料。
  • 使用 Wrangler,透過點擊式操作和 CLI 介面套用轉換。

在本實驗室中,大多數環節都會使用 Wrangler 外掛程式的轉換步驟,讓您能將轉換封裝於一處,並把轉換任務劃分成易於管理的模塊。透過這種資料優先的做法,您將能快速以視覺化方式呈現轉換。

設定

每個實驗室都會提供新的 Google Cloud 專案和一組資源,讓您在時限內免費使用。

  1. 請以無痕視窗登入 Google Skills。

  2. 請記下實驗室時間限制 (例如 02:00:00),務必在時限內完成作業。
    研究室不提供暫停功能。如有需要,您可以重新開始,但原先的進度恕無法保留。

  3. 準備就緒之後,請點選「Start Lab」

    注意事項:點選「Start Lab」之後,研究室需要 15 至 20 分鐘來佈建必要資源,並建立 Data Fusion 執行個體。 在此期間,不妨詳閱下方步驟,瞭解研究室的目標。

    執行個體建立完畢之後,左側面板會顯示研究室憑證 (使用者名稱密碼),此時即可繼續登入控制台。
  4. 請記下研究室憑證 (使用者名稱密碼),登入 Google Cloud 控制台時會用到。

  5. 點選「Open Google console」

  6. 點選「Use another account」,然後複製這個研究室的憑證,並貼到提示中。
    如果使用其他憑證,系統會顯示錯誤或向您收取費用

  7. 接受條款,然後略過資源復原頁面。

注意事項:請等到已完成研究室工作或想重新開始時,再點選「End Lab」。這麼做會清除現有工作並移除專案。

登入 Google Cloud 控制台

  1. 在用來進行本實驗室活動的瀏覽器分頁或視窗,複製「Connection Details」面板中的使用者名稱,然後點選「Open Google Console」按鈕。
注意:如果系統要求您選擇帳戶,請點選「使用其他帳戶」
  1. 按照系統提示,依序貼上使用者名稱密碼
  2. 點選「Next」
  3. 接受條款及細則。

這個臨時帳戶只在實驗室期間有效,使用時務必遵守下列規定:

  • 請勿新增救援選項
  • 請勿申請免費試用
  1. 開啟主控台後,點選畫面左上方的「導覽選單」圖示 「導覽選單」圖示,即可查看服務清單。

導覽選單

啟用 Cloud Shell

Cloud Shell 是含有多項開發工具的虛擬機器,提供永久的 5 GB 主目錄,並在 Google Cloud 中運作。Cloud Shell 可讓您透過指令列存取 Google Cloud 資源。gcloud 是 Google Cloud 的指令列工具,已預先安裝於 Cloud Shell,並支援 Tab 鍵完成功能。

  1. 在控制台的右上方,點按「啟用 Cloud Shell」按鈕 「啟用 Cloud Shell」圖示

  2. 點按「繼續」
    請稍候片刻,等待系統完成佈建作業並連線至環境。連線建立後,即代表您已通過驗證,且專案已設為「PROJECT_ID」

指令範例

  • 列出目前使用的帳戶名稱:
gcloud auth list

輸出內容

Credentialed accounts: - <myaccount>@<mydomain>.com (active)

輸出內容範例

Credentialed accounts: - google1623327_student@qwiklabs.net
  • 列出專案 ID:
gcloud config list project

輸出內容

[core] project = <project_ID>

輸出內容範例

[core] project = qwiklabs-gcp-44776a13dea667a6 注意:如需 gcloud 的完整說明,請參閱 gcloud CLI 總覽指南

檢查專案權限

開始使用 Google Cloud 前,請務必確保專案在 Identity and Access Management (IAM) 中具備正確的權限。

  1. 前往 Google Cloud 控制台的「導覽選單」「導覽選單」圖示,依序點選「IAM 與管理」>「身分與存取權管理」

  2. 確認具有預設的運算服務帳戶 {project-number}-compute@developer.gserviceaccount.com,且已指派 editor 角色。帳戶前置字串為專案編號,如需查看,請前往「導覽選單」>「Cloud 總覽」

預設的運算服務帳戶

如果帳戶未顯示在 IAM 中,或沒有 editor 角色,請依照下列步驟指派必要角色。

  1. 前往 Google Cloud 控制台,依序點選「導覽選單」>「Cloud 總覽」

  2. 從「專案資訊」資訊卡複製「專案編號」

  3. 從「導覽選單」依序點選「IAM 與管理」>「身分與存取權管理」

  4. 點選「身分與存取權管理」頁面頂端的「新增」

  5. 在「新增主體」輸入:

{project-number}-compute@developer.gserviceaccount.com

{project-number} 換成您的專案編號。

  1. 從「請選擇角色」選單依序選取「基本」或「專案」>「編輯者」

  2. 點選「儲存」

工作 1:新增 Cloud Data Fusion 執行個體的必要權限

  1. 前往 Google Cloud 控制台,在標題列的「搜尋」欄位輸入「Data Fusion」,然後依序點選「搜尋」>「Data Fusion」

  2. 按一下「Data Fusion」旁的「固定」圖示。

注意:建立執行個體約需 15 到 20 分鐘,請等待作業完成。

接著請按照下列步驟,將權限授予執行個體的關聯服務帳戶。

  1. 前往 Google Cloud 控制台,依序點選「IAM 與管理」>「IAM」

  2. 確認 Compute Engine 預設服務帳戶 {project-number}-compute@developer.gserviceaccount.com 存在,並將該服務帳戶複製到剪貼簿。

  3. 在「IAM 權限」頁面中,按一下「+ 授予存取權」

  4. 在「新增主體」欄位貼上服務帳戶。

  5. 按一下「選取角色」欄位,開始輸入並選取「Cloud Data Fusion API 服務代理」。

  6. 點選「新增其他角色」

  7. 新增「Dataproc 管理員」角色。

  8. 按一下「儲存」

點選「Check my progress」,確認目標已達成。 將 Cloud Data Fusion API 服務代理角色,新增至服務帳戶

授予服務帳戶使用者權限

  1. 前往控制台,依序點選「導覽選單」圖示 >「IAM 與管理」>「身分與存取權管理」

  2. 勾選「包含 Google 提供的角色授予項目」核取方塊。

  3. 向下捲動清單,找到 Google 代管的 Cloud Data Fusion 服務帳戶 (格式為 service-{project-number}@gcp-sa-datafusion.iam.gserviceaccount.com),然後將該帳戶的名稱複製到剪貼簿。

Google 代管的 Cloud Data Fusion 服務帳戶清單

  1. 接著,依序點選「IAM 與管理」>「服務帳戶」

  2. 點選預設的 Compute Engine 帳戶 (格式為 {project-number}-compute@developer.gserviceaccount.com),然後選取頂端導覽面板中的「具備存取權的主體」分頁標籤。

  3. 點選「授予存取權」按鈕。

  4. 在「新增主體」欄位,貼上先前複製的服務帳戶名稱。

  5. 在「角色」下拉式選單,選取「服務帳戶使用者」

  6. 點選「儲存」

工作 2:載入資料

接下來,您會在專案中建立 Cloud Storage bucket,以便載入一些 Wrangler 用的樣本資料。稍後 Cloud Data Fusion 會從這個 Storage bucket 讀取資料

  1. 在 Cloud Shell 執行以下指令,建立新的 bucket:
export BUCKET=$GOOGLE_CLOUD_PROJECT gcloud storage buckets create gs://$BUCKET

所建 bucket 的名稱就是專案 ID。

  1. 執行以下指令,將資料檔案 (CSV 格式) 複製到 bucket:
gcloud storage cp gs://cloud-training/OCBL163/titanic.csv gs://$BUCKET

點選「Check my progress」,確認目標已達成。 載入資料

現在可以進行後續步驟了。

工作 3:瀏覽 Cloud Data Fusion UI

在 Cloud Data Fusion UI 中,您可以透過「Pipeline Studio」或「Wrangler」等頁面,使用 Cloud Data Fusion 功能。

如要瀏覽 Cloud Data Fusion UI,請按以下步驟操作:

  1. 在控制台依序點選「導覽選單」>「Data Fusion」
  2. 接著點選 Data Fusion 執行個體旁的「查看執行個體」連結。
  3. 選取實驗室憑證進行登入。
注意:如果出現 500 錯誤訊息,請關閉分頁,然後重試步驟 2 到 3。

Cloud Data Fusion 網頁 UI 的左側有專屬導覽面板,可用於前往所需頁面。

  1. 在 Cloud Data Fusion UI 中,按一下左上角的「導覽選單」,即可開啟導覽面板。
  2. 接著選擇「Wrangler」

工作 4:使用 Wrangler

Wrangler 是一款互動式視覺化工具,可讓您先查看轉換對一小部分資料的影響,再對整個資料集分派大型平行處理工作。

  1. Wrangler 載入後,左側面板會顯示預先設定的資料連線項目,包括 Cloud Storage 連線。

  2. 在「GCS」中選取「Cloud Storage Default」

  3. 點選與專案 ID 對應的 bucket。

  4. 按一下「titanic.csv」

  5. 在剖析選項的下拉式選單中,選取「文字」格式。

parseoption.png

  1. 按一下「確認」。資料會載入 Wrangler。

ParseCSV4.png

  1. 首先我們要剖析原始 CSV 資料,轉換為以資料列和欄呈現的表格形式。方法是選取第一欄標題的下拉式選單圖示,選取「剖析」選單項目,然後在子選單中選取「CSV」

展開的下拉式選單

  1. 觀察一下就會發現,原始資料第一列的內容是各欄標題,因此您需要在「Parse as CSV」對話方塊中選取「Set first row as header」,然後按一下「套用」

  2. 原始資料會在這個階段完成剖析,這項作業產生的資料欄也會顯示在「body」欄右側。

  3. 您不再需要「body」欄,因此請選取該欄標題旁的下拉式選單圖示,然後選取「刪除資料欄」選單項目來移除。

注意:您也可使用指令列介面 (CLI) 套用轉換。CLI 是畫面底部的黑色橫列 (帶有綠色的 $ 提示)。您開始輸入指令後,自動填入功能便會啟動,並顯示相符的選項。舉例來說,如要捨棄「body」欄,您可以改用 drop: body 指令。

drop 指令

  1. 在 Wrangler UI 中,按一下最右側的「Transformation steps」分頁標籤。頁面上會顯示目前套用的兩個轉換。
注意: 選單選項和 CLI 都會建立指令,這些指令會顯示在畫面右側的「Transformation steps」分頁。指令屬於個別轉換,統稱為 recipe。

本實驗室的後續部分會引導您使用 CLI 新增更多轉換步驟。

將轉換步驟套用至資料集時,轉換會影響樣本資料,並提供可在「深入分析結果」分頁查看的視覺提示。

  1. 點選上方中間的「深入分析結果」分頁標籤,即可查看資料在各欄的分布情形。

「深入分析結果」分頁

  1. 瀏覽介面,發掘新的資料分析方式。將「Age」欄位拖放至「編碼」的「x」處,然後看看資料顯示方式有何變化。

「深入分析結果」分頁

  1. 您可以點選「建立管道」按鈕進入管道開發模式,以便查看在 Wrangler 外掛程式中建立的指令。

createpipline15.png

  1. 在下一個對話方塊中,選取「Batch pipeline」即可繼續。

batch16.png

  1. Pipeline Studio 開啟後,將游標指向 Wrangler 節點,然後按一下「屬性」

  2. 在「指令」部分查看您先前新增的指令 recipe。在下一節,您將使用 CLI 新增更多轉換步驟。

 「指令」部分

工作 5:使用轉換步驟

在本節中,您將繼續使用 Wrangler UI 瀏覽 CSV 資料集,並透過 CLI 套用轉換。

  1. 在 Wrangler 節點的「屬性」方塊中,按一下「指令」部分下方的「Wrangle」按鈕。您會返回 Wrangler UI。

  2. 點選 Wrangler UI 最右側的「Transformation steps」,即可查看指令。確認目前有兩個轉換步驟。

現在,您將使用 CLI 新增更多轉換步驟,並觀察這些步驟如何修改資料。CLI 是畫面底部的黑色橫列 (帶有綠色的 $ 提示)。

  1. 複製以下指令,然後貼到 CLI 的 $ 提示處。畫面右側的「Transformation Steps」會隨之更新。
fill-null-or-empty :Cabin 'none' send-to-error empty(Age) parse-as-csv :Name ',' false drop Name fill-null-or-empty :Name_2 'none' rename Name_1 Last_Name rename Name_2 First_Name set-type :PassengerId integer parse-as-csv :First_Name '.' false drop First_Name drop First_Name_3 rename First_Name_1 Salutation fill-null-or-empty :First_Name_2 'none' rename First_Name_2 First_Name send-to-error !dq:isNumber(Age) || !dq:isInteger(Age) || (Age == 0 || Age > 125) set-type :Age integer set-type :Fare double set-column Today_Fare (Fare * 23.4058)+1 generate-uuid id mask-shuffle First_Name

以下說明上述指令對資料的影響。請勿在 CLI 重複輸入指令。

a. fill-null-or-empty :Cabin 'none' 可修正「Cabin」欄,確保所有欄位填入資料

b. send-to-error empty(Age) 可修正「Age」欄,確保沒有空白儲存格

c. parse-as-csv :Name ',' false 會將「Name」欄分成兩個資料欄,分別包含名字和姓氏

d. rename Name_1 Last_Namerename Name_2 First_Name 會重新命名新建立的資料欄,將「Name_1」及「Name_2」分別改為「Last_Name」和「First_Name」

e. drop Name 可移除不再需要的「Name」

f. set-type :PassengerId integer 會將「PassengerId」欄的資料轉換為整數

g. 以下這段指令會從「First_Name」欄擷取稱謂、刪除多餘資料欄,並將新建立的資料欄改為合適名稱:

parse-as-csv :First_Name '.' false drop First_Name drop First_Name_3 rename First_Name_1 Salutation fill-null-or-empty :First_Name_2 'none' rename First_Name_2 First_Name

h. send-to-error !dq:isNumber(Age) || !dq:isInteger(Age) || (Age == 0 || Age > 125) 指令會對「Age」欄執行資料品質檢查,set-type :Age integer 則會將該欄設為整數資料欄

i. set-type :Fare double 會將「Fare」欄轉換為 Double 格式,方便後續對該欄的值做數學運算

j. set-column Today_Fare (Fare * 23.4058)+1 將「Fare」欄的資料乘以 1912 年以來的美元通貨膨脹率,算出調整後的美元值

k. generate-uuid id 會建立識別資訊欄,確保每筆記錄都有專屬識別 ID

l. mask-shuffle First_Name 會遮蓋「Last_Name」欄,達成個人資訊 (PII) 去識別化

  1. 點選「Transformation steps」右上方的「更多」連結,接著按一下「查看結構定義」來檢視轉換產生的結構定義,然後按「下載」圖示,將結構定義下載到電腦。

    轉換產生的結構定義清單

  2. 點選「X」關閉「結構定義」頁面。

  3. 您可以點選「Transformation steps」下方的「下載」圖示,將指令 recipe 下載到電腦,保留轉換步驟副本供日後使用。

    「Transformation steps」頁面上醒目顯示的「下載」圖示

  4. 按一下右上方的「套用」按鈕,確保所有新輸入的轉換步驟新增到 Wrangler 節點設定。接著,系統會重新導向回 Wrangler 節點的屬性方塊。

  5. 按一下「X」關閉屬性方塊,即會返回「Pipeline Studio」

工作 6:擷取至 BigQuery

如要將資料擷取至 BigQuery,請建立資料集。

  1. 在新分頁前往 Google Cloud 控制台開啟 BigQuery,或在「Google Cloud 控制台」分頁上按一下滑鼠右鍵,然後選取「複製」,再使用「導覽選單」選取「BigQuery」。如果出現提示訊息,請按一下「完成」

  2. 在「Explorer」窗格中,按一下專案 ID (開頭為 qwiklabs) 旁的「查看動作」圖示,然後選取「建立資料集」

    「Explorer」窗格:醒目顯示「查看動作」圖示和「建立資料集」選項

a. 資料集 ID:demo_cdf

b. 點選「建立資料集」。記下資料集名稱,以便稍後在實驗室中使用。

  1. 返回「Cloud Data Fusion UI」分頁。

a. 如要將 BigQuery 接收器新增至管道,請前往左側面板的「接收器」部分,然後點選「BigQuery」圖示,將接收器新增到資料畫布上。

b. 完成後,將 Wrangler 節點連結至 BigQuery 節點,方法是將 Wrangler 節點上的箭頭,拖曳至 BigQuery 節點,如圖所示。

資料畫布上的 GCSFile、Wrangler 和 BigQuery 節點

c. 將滑鼠游標移至 BigQuery 節點,接著按一下「屬性」,並輸入下列設定值:

欄位
參照名稱 DemoSink
資料集專案 ID 您的專案 ID
資料集 demo_cdf (您在上一步建立的資料集)
資料表 輸入適當名稱 (例如 titanic)

系統會自動建立資料表。

d. 點選「驗證」按鈕,確認所有設定均正確無誤。

e. 按一下「X」關閉屬性方塊,即會返回「Pipeline Studio」。

  1. 現在可以執行管道了。

a. 替管道命名 (例如 DemoBQ)。

b. 點選「儲存」,然後按一下右上方的「部署」來部署管道。

c. 點選「執行」即可開始執行管道。按一下「摘要」圖示可以查看一些統計資料。

注意:如果管道無法運作,請重新執行。

執行完畢後,狀態會變為「已成功」。返回 BigQuery 控制台查詢結果。

狀態:已成功

點選「Check my progress」,確認目標已達成。 擷取至 BigQuery

恭喜!

在本實驗室中,您探索了 Wrangler UI,並瞭解如何透過選單和 CLI 新增轉換步驟 (指令)。透過 Wrangler,您可以對資料套用功能強大的轉換並反覆調整,還能運用 Wrangler UI,查看這會對資料結構定義造成什麼影響,之後再部署及執行管道。

關閉研究室

完成實驗室後,請按一下「End Lab」。Google Skills 會移除您使用的資源,並清除所用帳戶。

您可以為實驗室的使用體驗評分。請選取合適的星級評等並提供意見,然後按一下「Submit」

星級評等代表您的滿意程度:

  • 1 星 = 非常不滿意
  • 2 星 = 不滿意
  • 3 星 = 普通
  • 4 星 = 滿意
  • 5 星 = 非常滿意

如果不想提供意見回饋,您可以直接關閉對話方塊。

如有任何想法、建議或指教,請透過「Support」分頁提交。

Copyright 2026 Google LLC 保留所有權利。Google 和 Google 標誌是 Google LLC 的商標,其他公司和產品名稱則有可能是其關聯公司的商標。

准备工作

  1. 实验会创建一个 Google Cloud 项目和一些资源,供您使用限定的一段时间
  2. 实验有时间限制,并且没有暂停功能。如果您中途结束实验,则必须重新开始。
  3. 在屏幕左上角,点击开始实验即可开始

使用无痕浏览模式

  1. 复制系统为实验提供的用户名密码
  2. 在无痕浏览模式下,点击打开控制台

登录控制台

  1. 使用您的实验凭证登录。使用其他凭证可能会导致错误或产生费用。
  2. 接受条款,并跳过恢复资源页面
  3. 除非您已完成此实验或想要重新开始,否则请勿点击结束实验,因为点击后系统会清除您的工作并移除该项目

此内容目前不可用

一旦可用,我们会通过电子邮件告知您

太好了!

一旦可用,我们会通过电子邮件告知您

一次一个实验

确认结束所有现有实验并开始此实验

使用无痕浏览模式运行实验

使用无痕模式或无痕浏览器窗口是运行此实验的最佳方式。这可以避免您的个人账号与学生账号之间发生冲突,这种冲突可能导致您的个人账号产生额外费用。