Load the data

Check my progress

/ 25

Add Cloud Data Fusion API Service Agent role to service account

Check my progress

/ 25

Deploy and execute batch pipeline

Check my progress

/ 25

View the results

Check my progress

/ 25

This lab may incorporate AI tools to support your learning.
This content is not yet optimized for mobile devices.
For the best experience, please visit us on a desktop computer using a link sent by email.

GSP807

Google Cloud 自修研究室標誌

總覽

ETL 是指擷取 (Extract)、轉換 (Transform) 和載入 (Load),這個概念後來也衍生出多種不同的變化,包括 EL、ELT 和 ELTL。

本實驗室將說明如何使用 Cloud Data Fusion 的 Pipeline Studio 建構 ETL 管道。Pipeline Studio 提供多種建構模塊與內建外掛程式,讓您能逐一設定節點,打造出批次管道。您也會使用 Wrangler 外掛程式來建立轉換,並套用至經由管道傳輸的資料。

就 ETL 應用程式而言,最常見的資料來源通常是逗號分隔值 (CSV) 格式的文字檔,因為許多資料庫系統都是用這種方式匯出及匯入資料。本實驗室將以 CSV 檔案為例,但同樣的技巧也適用於資料庫來源,以及任何您現有的資料來源。

最後輸出內容會寫入 BigQuery 資料表,您要透過標準 SQL 來分析這個目標資料集的資料。

目標

本實驗室的學習內容包括:

  • 使用 Cloud Data Fusion 的 Pipeline Studio 建立批次管道。
  • 透過 Wrangler 以互動方式來轉換資料。
  • 將輸出內容寫入 BigQuery。

設定和需求

每個實驗室都會提供新的 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. 點選「Start Lab」按鈕。如果實驗室會產生費用,畫面上會出現選擇付款方式的對話方塊。左側的「Lab Details」窗格會顯示下列項目:

    • 「Open Google Cloud console」按鈕
    • 剩餘時間
    • 必須在這個研究室中使用的臨時憑證
    • 完成這個實驗室所需的其他資訊 (如有)
  2. 點選「Open Google Cloud console」;如果使用 Chrome 瀏覽器,也能按一下滑鼠右鍵,選取「在無痕視窗中開啟連結」。

    接著,實驗室會啟動相關資源,並開啟另一個分頁,顯示「登入」頁面。

    提示:您可以在不同的視窗中並排開啟分頁。

    注意:如果頁面中顯示「選擇帳戶」對話方塊,請點選「使用其他帳戶」。
  3. 如有必要,請將下方的 Username 貼到「登入」對話方塊。

    {{{user_0.username | "Username"}}}

    您也可以在「Lab Details」窗格找到 Username。

  4. 點選「下一步」。

  5. 複製下方的 Password,並貼到「歡迎使用」對話方塊。

    {{{user_0.password | "Password"}}}

    您也可以在「Lab Details」窗格找到 Password。

  6. 點選「下一步」。

    重要事項:請務必使用實驗室提供的憑證,而非自己的 Google Cloud 帳戶憑證。 注意:如果使用自己的 Google Cloud 帳戶來進行這個實驗室,可能會產生額外費用。
  7. 按過後續的所有頁面:

    • 接受條款及細則。
    • 由於這是臨時帳戶,請勿新增救援選項或雙重驗證機制。
    • 請勿申請免費試用。

Google Cloud 控制台稍後會在這個分頁開啟。

注意:如要使用 Google Cloud 產品和服務,請點選「導覽選單」,或在「搜尋」欄位輸入服務或產品名稱。「導覽選單」圖示和搜尋欄位

啟用 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 Storage bucket,並暫存一個 CSV 檔案。Cloud Data Fusion 隨後會從這個儲存空間 bucket 讀取資料。

  1. 在 Cloud Shell 執行下列指令,建立新的 bucket,並將相關資料複製到其中:
export BUCKET=$GOOGLE_CLOUD_PROJECT gcloud storage buckets create gs://$BUCKET

新建立的 bucket 名稱即為專案 ID。

  1. 執行下列指令,將兩個資料檔案 (CSV 和 XML 格式) 複製到該 bucket:
gsutil cp gs://cloud-training/OCBL163/titanic.csv gs://$BUCKET

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

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

在這項工作中,您要將必要的 IAM 角色,授予與 Cloud Data Fusion 執行個體相關聯的服務帳戶。

  1. 前往 Google Cloud 控制台,依序點選「導覽選單」>「查看所有產品」>「Analytics」類別 >「Data Fusion」>「執行個體」。您應該會看到已設定完成、立即可用的 Cloud Data Fusion 執行個體。
注意:建立執行個體約需 10 分鐘,請等待作業完成。
  1. 前往 Google Cloud 控制台,依序點選「導覽選單」>「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. 點選「儲存」。

工作 3:建構批次管道

在這項工作中,您將使用 Cloud Data Fusion 的 Wrangler 元件,準備及清理原始資料。透過這樣反覆進行的過程,您可以即時查看視覺化的轉換結果。

  1. 前往 Google Cloud 控制台,依序點選「導覽選單」>「Data Fusion」>「執行個體」。

  2. 找到所需執行個體後,點選「查看執行個體」。出現提示訊息時,請使用實驗室憑證登入。如果系統詢問是否觀看導覽,請點選「No, Thanks」。

  3. 在 Cloud Data Fusion UI,依序點選「導覽選單」圖示 >「Wrangler」。

  4. 在左側面板點選「(GCS) Google Cloud Storage」,然後選取「Cloud Storage Default」。

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

  6. 點選「titanic.csv」。

    Cloud Data Fusion 畫面,顯示存放在 Cloud Storage bucket 的 titanic

  7. 在「Parsing Options」對話方塊的「Format」部分選取「text」,然後點選「Confirm」。

「Parsing Options」對話方塊

資料會隨即載入至 Wrangler 畫面。現在,您可以開始反覆套用並調整資料轉換了。

  1. 點選「body」欄標題旁的箭頭,然後依序選取「Parse」>「CSV」,將原始 CSV 資料剖析為表格格式。

    Google Cloud Storage 的「Parse」>「CSV」選單選項

  2. 在「Parse as CSV」對話方塊,勾選「Set first row as header」核取方塊,然後點選「Apply」。

    「Parse as CSV」對話方塊

注意:您可以直接忽略「Set first row as header」核取方塊旁的淘汰警告訊息。
  1. 到這個階段,原始資料已經剖析完成,您可以在「body」欄右側看到這項作業產生的資料欄。畫面最右側會列出所有資料欄名稱。

Cloud Data Fusion Wrangler UI

  1. 點選「body」欄標題旁的箭頭,然後選取「Delete column」,移除原始資料欄。

「Delete column」選單選項

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

CLI 中捨棄「body」欄的語法

  1. 在 Wrangler UI 右側,點選「Transformation steps」分頁標籤,查看目前的 recipe。

Titanic.csv 的 drop :body 資料欄

注意:無論是透過選單選項或 CLI 建立的指令,都會顯示在畫面右側的「Transformation steps」分頁。指令代表個別的轉換,統稱為 recipe。

在本實驗室中,只要有這兩項轉換 (即 recipe),就足以建立 ETL 管道。下一步是將這個 recipe 整合至管道建構步驟,發揮 ETL 中「T」(轉換) 的功能。

  1. 點選「Create a Pipeline」按鈕,前往下一節開始建立管道,屆時您將瞭解 ETL 管道如何串連運作。

    「Create a Pipeline」按鈕

  2. 出現下一個對話方塊時,選取「Batch pipeline」繼續操作。

「Batch pipeline」選項

注意:批次管道能以互動方式執行,也可以設定排程,執行頻率從每 5 分鐘一次到每年一次不等。

工作 4:設定 BigQuery 接收器

其餘的管道建構工作都會在 Pipeline Studio 進行,您可以透過這個視覺化介面來編排資料管道。現在,Studio 畫面上應該會出現 ETL 管道的主要建構模塊。

目前,管道中可以看到兩個節點:GCSFile 外掛程式會從 Google Cloud Storage 讀取 CSV 檔案;Wrangler 外掛程式則包含轉換 recipe。

注意:管道中的節點是按順序連接的物件,串連起來後會形成一個「有向無環圖」。這些節點的類型包含來源、接收器、轉換、動作等。

這兩個外掛程式 (節點) 分別代表 ETL 管道的 E (擷取) 和 T (轉換) 部分。想要順利完成這個管道,必須新增 BigQuery 接收器,也就是 ETL 的 L (載入) 部分。

管道架構圖

  1. 找到左側面板的「Sink」部分,然後點選「BigQuery」圖示,將 BigQuery 接收器放到資料畫布上,以便新增至管道。

「Sink」部分的「BigQuery」圖示

  1. 在資料畫布放好 BigQuery 接收器後,將 Wrangler 節點連至 BigQuery 節點。如下圖所示,只要把 Wrangler 節點上的箭頭拖曳到 BigQuery 節點即可。最後再指定一些設定選項,就能將資料寫入所需的資料集。

    Wrangler 節點連接至 BigQuery 節點

工作 5:設定管道

現在,讓我們開始設定管道。請開啟每個節點的屬性,確認相關設定是否正確,並視需要進一步調整。

  1. 將滑鼠游標懸停在 GCS 節點上,「Properties」按鈕會隨即顯示。點選這個按鈕,即可開啟設定頁面。

GCS 節點的「Properties」對話方塊

每個外掛程式都有幾個必填欄位,並以星號 (*) 標示。視使用的外掛程式而定,您可能會看到左側的「Input Schema」(輸入內容的結構定義)、中間的「Configuration」(設定) 部分,以及右側的「Output Schema」(輸出內容的結構定義)。

您會發現「接收器」外掛程式沒有輸出內容的結構定義,而「來源」外掛程式沒有輸入內容的結構定義。不過,這兩種外掛程式都有必填的「Reference Name」欄位,用來識別歷程的資料來源/接收器。

每個外掛程式都包含「Label」欄位,這個標籤會顯示在資料畫布的管道節點上,方便您識別。

  1. 點選右上方的「X」,關閉「Properties」方塊。

  2. 接著將滑鼠游標懸停在「Wrangler」節點上,然後點選「Properties」。

Wrangler 節點的「Properties」對話方塊

注意: Wrangler 這類外掛程式包含輸入內容的結構定義,其中的欄位資料會傳遞至外掛程式進行後續處理。資料經外掛程式處理後,會依照輸出內容的結構定義,傳送至管道的下一個節點;若該節點屬於接收器,則會將資料寫入資料集。
  1. 點選右上方的「X」,關閉「Properties」方塊。

  2. 將滑鼠游標懸停在 BigQuery 節點上,點選「Properties」,然後按照下列指示輸入設定:

    • 在「Reference Name」部分,輸入 Titanic_BQ。

    • 在「Dataset」部分,輸入 demo。

    • 在「Table」部分,輸入 titanic。

  3. 點選右上方的「X」,關閉「Properties」方塊。

BigQuery 的「Properties」對話方塊

工作 6:測試管道

最後一步是測試管道能否正常運作。但在開始前,請務必先命名並儲存草稿,以免工作進度遺失。

  1. 點選右上角選單中的「Save」,系統會提示您為管道命名並新增說明。

    • 輸入 ETL-batch-pipeline 做為管道名稱。
    • 輸入 ETL pipeline to parse CSV, transform and write output to BigQuery 做為說明。
  2. 點選「Save」。

  3. 點選「Preview」圖示來測試管道,這時按鈕列會顯示「Run」圖示,點選後即可在預覽模式中執行管道。

  4. 點選「Run」圖示。以預覽模式執行管道時,資料不會真的寫入 BigQuery 資料表,但您能藉此確認資料讀取作業是否正常,並確保部署管道後,資料會如預期寫入。「Preview」按鈕是切換鈕,操作完畢後請再次點選,才能退出預覽模式。

    準備執行管道

  5. 管道執行完畢後,將滑鼠游標懸停在 Wrangler 節點上,然後依序點選「Properties」>「Preview」分頁標籤。如果執行順利,您應該會看到來自輸入端 (左側節點) 的原始資料,以及即將輸出至右側節點的剖析記錄。確認後,請點選右上方的「X」,關閉「Properties」方塊。

Wrangler 節點的輸出內容

注意:每個處理資料的節點都應顯示類似輸出結果。這是驗證成果的好方法,可確保正式部署管道前,一切都符合預期。若發生任何錯誤,也能在草稿模式中輕鬆修正。
  1. 再次點選「Preview」圖示,退出預覽模式。

  2. 如果目前為止都沒問題,請點選右上方的「Deploy」圖示 「Deploy」圖示,繼續部署管道。

確認對話方塊會隨即顯示,指出正在部署管道:

正在部署管道的確認畫面

  1. 成功部署後,您就能執行 ETL 管道,將部分資料載入 BigQuery。

  2. 點選「Run」圖示,執行 ETL 工作。

  3. 執行完成後,管道狀態應該會變更為「Succeeded」,代表管道已順利執行。

    Cloud Data Fusion 管道執行成功

  4. 管道在處理資料時,各個節點都會產生指標,指出目前處理完成的記錄筆數。您會發現剖析作業只顯示 892 筆記錄,但來源卻有 893 筆記錄,這是因為第一列資料會用於設定欄標題,扣除掉這一列,剩下的 892 筆才是真正要處理的資料。

管道剖析 CSV 圖表

點選「Check my progress」,確認目標已達成 部署及執行批次管道

工作 7:查看結果

管道會將輸出內容寫入 BigQuery 資料表,您可以按照下列步驟確認。

  1. 在新的分頁,前往 Cloud 控制台開啟 BigQuery UI,或是對控制台分頁按一下滑鼠右鍵,然後選取「複製」,再從「導覽選單」選取「BigQuery」。看到提示訊息後,請點選「完成」。

  2. 在左側窗格的「傳統版 Explorer」部分,點選專案 ID (開頭為 qwiklabs)。

  3. 在專案的「demo」資料集下方,依序點選「titanic」資料表 >「+」圖示 (SQL 查詢),然後執行簡單的查詢,例如:

SELECT * FROM `demo.titanic` LIMIT 10

查詢結果

點選「Check my progress」,確認目標已達成 查看結果

恭喜!

您已學會使用 Cloud Data Fusion 的 Pipeline Studio 建構模塊來建立批次管道,也瞭解如何透過 Wrangler 建立資料轉換步驟。

挑戰下一個實驗室

請繼續進行「在 Cloud Data Fusion 運用 Wrangler 建構轉換並準備資料」實驗室。

使用手冊上次更新日期:2026 年 7 月 14 日

實驗室上次測試日期:2026 年 7 月 14 日

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

Before you begin

  1. Labs create a Google Cloud project and resources for a fixed time
  2. Labs have a time limit and no pause feature. If you end the lab, you'll have to restart from the beginning.
  3. On the top left of your screen, click Start lab to begin

Use private browsing

  1. Copy the provided Username and Password for the lab
  2. Click Open console in private mode

Sign in to the Console

  1. Sign in using your lab credentials. Using other credentials might cause errors or incur charges.
  2. Accept the terms, and skip the recovery resource page
  3. Don't click End lab unless you've finished the lab or want to restart it, as it will clear your work and remove the project

This content is not currently available

We can notify you via email when it becomes available

Great!

We can contact you via email if it becomes available

One lab at a time

Confirm to end all existing labs and start this one

Use private browsing to run the lab

Using an Incognito or private browser window is the best way to run this lab. This prevents any conflicts between your personal account and the Student account, which may cause extra charges incurred to your personal account.