
准备工作
- 实验会创建一个 Google Cloud 项目和一些资源,供您使用限定的一段时间
- 实验有时间限制,并且没有暂停功能。如果您中途结束实验,则必须重新开始。
- 在屏幕左上角,点击开始实验即可开始
Disable and re-enable the Dataflow API
/ 10
Create a Cloud Storage Bucket
/ 10
Copy Files to Your Bucket
/ 10
Create the BigQuery Dataset (name: lake)
/ 20
Build a Data Ingestion Dataflow Pipeline
/ 10
Build a Data Transformation Dataflow Pipeline
/ 10
Build a Data Enrichment Dataflow Pipeline
/ 10
Build a Data lake to Mart Dataflow Pipeline
/ 20
Datafow 是 Google Cloud 推出的服務,可大規模整合串流與批次資料處理工作。這項解決方案以 Apache Beam 專案為基礎,該服務屬於開放原始碼模型,可定義批次與串流資料平行處理管道。只要使用任一開放原始碼 Apache Beam SDK,即可自行建構程式來定義管道,並運用 Dataflow 執行。
在本實驗室中,您將透過 Apache Beam SDK for Python 在 Dataflow 建構及執行管道,將 Cloud Storage 的資料擷取至 BigQuery,接著使用 BigQuery 轉換及充實資料。
本實驗室的內容包括:
請詳閱以下操作說明。實驗室活動會計時,且中途無法暫停。點選「Start Lab」後就會開始計時,顯示可使用 Google Cloud 資源的時間。
您將在真正的雲端環境完成實作實驗室活動,而不是模擬或示範環境。為此,我們會提供新的暫時憑證,供您在實驗室活動期間登入及存取 Google Cloud。
為了順利完成這個實驗室,請先確認:
點選「Start Lab」按鈕。如果實驗室會產生費用,畫面上會出現選擇付款方式的對話方塊。左側的「Lab Details」窗格會顯示下列項目:
點選「Open Google Cloud console」;如果使用 Chrome 瀏覽器,也能按一下滑鼠右鍵,選取「在無痕視窗中開啟連結」。
接著,實驗室會啟動相關資源,並開啟另一個分頁,顯示「登入」頁面。
提示:您可以在不同的視窗中並排開啟分頁。
如有必要,請將下方的 Username 貼到「登入」對話方塊。
您也可以在「Lab Details」窗格找到 Username。
點選「下一步」。
複製下方的 Password,並貼到「歡迎使用」對話方塊。
您也可以在「Lab Details」窗格找到 Password。
點選「下一步」。
按過後續的所有頁面:
Google Cloud 控制台稍後會在這個分頁開啟。
Cloud Shell 是搭載多項開發工具的虛擬機器,提供永久的 5 GB 主目錄,而且在 Google Cloud 中運作。Cloud Shell 提供指令列存取權,方便您使用 Google Cloud 資源。
點按 Google Cloud 控制台頂端的「啟用 Cloud Shell」圖示 。
系統顯示視窗時,請按照下列步驟操作:
連線建立完成即代表已通過驗證,而且專案已設為您的 Project_ID:
gcloud
是 Google Cloud 的指令列工具,已預先安裝於 Cloud Shell,並支援 Tab 鍵自動完成功能。
輸出內容:
輸出內容:
gcloud
的完整說明,請前往 Google Cloud 參閱 gcloud CLI 總覽指南。
請重新啟動連至 Dataflow API 的連線,確保可順利使用必要的 API。
前往 Google Cloud 控制台,在標題列的「搜尋」欄位輸入 Dataflow API,然後點選搜尋結果中的「Dataflow API」。
點選「管理」。
點選「停用 API」。
如果系統要求您確認操作,請點選「停用」。
API 重新啟用後,頁面上會顯示「停用」選項。
點選「Check my progress」,確認工作已完成。
下載要在本實驗室使用的 Dataflow Python 範例程式碼。
您需要在 Cloud Shell 建立 Cloud Storage bucket,然後將檔案 (即 Dataflow Python 範例程式碼) 複製到該 bucket。
點選「Check my progress」,確認工作已完成。
gsutil
指令,將檔案複製到剛才建立的 Cloud Storage bucket:點選「Check my progress」,確認工作已完成。
在這項工作中,您將建立 BigQuery 資料集,用來存放所有載入 BigQuery 的資料表。
在 Cloud Shell 建立名為 lake
的資料集:
點選「Check my progress」,確認工作已完成。
在這項工作中,您將查看管道程式碼來瞭解其作用,然後設定並執行該管道。
資料擷取管道會使用 TextIO 來源和 BigQueryIO 目的地,將 Cloud Storage 的資料擷取至 BigQuery 資料表。具體來說,這個管道應能完成以下工作:
請使用 Cloud Shell 程式碼編輯器查看管道程式碼。
在 Cloud Shell 選單列,點選「開啟編輯器」。
依序前往 dataflow_python_examples
> dataflow_python_examples
,然後開啟 data_ingestion.py
檔案。
詳閱檔案註解,瞭解程式碼的作用。
這段程式碼會將 Cloud Storage 的資料檔案填入 BigQuery 資料表。
這個實驗室的 Dataflow 工作需要搭配 Python3.8
。為確保使用的是正確版本,您需要在 Python 3.8 Docker 容器中執行 Dataflow 程序。
這個指令會使用最新的 Python 3.8 穩定版提取 Docker 容器,並執行指令殼層,在容器中執行後續指令。-v
旗標會提供原始碼做為容器的 volume
,讓您在 Cloud Shell 編輯器修改程式碼,同時繼續在執行中的容器內存取原始碼。
apache-beam
:這段程式碼會啟動所需的 worker,並在管道完成作業後將其關閉。
「Dataflow」頁面開啟後,請查看工作狀態。
「工作狀態」顯示「已完成」後,即可前往下一個步驟。這個擷取管道從啟動、完成作業到關閉,大約需要五分鐘。
前往 BigQuery (依序點選「導覽選單」>「BigQuery」) 檢查資料是否確實填入。
點選專案名稱,查看 lake
資料集底下的 usa_names 資料表。
usa_names
資料樣本。usa_names
資料表,請重新整理頁面,或使用傳統版 BigQuery 使用者介面查看。
點選「Check my progress」,確認工作已完成。
在這項工作中,您將查看資料轉換管道來瞭解其作用,接著執行該管道以處理 Cloud Storage 檔案,最後將結果輸出至 BigQuery。
資料轉換管道也會使用 TextIO 來源和 BigQueryIO 目的地,將 Cloud Storage 的資料擷取至 BigQuery 資料表,但還會進行額外的資料轉換工作。具體來說,這個管道應能完成以下工作:
data_transformation.py
檔案。詳閱檔案註解,瞭解程式碼的作用。
前往 Google Cloud 控制台,在標題列的「搜尋」欄位輸入 Dataflow,然後點選搜尋結果中的「Dataflow」。
點選工作名稱,查看這項工作的狀態。
這個 Dataflow 管道從啟動、完成作業到關閉,大約需要五分鐘。
您應該會在 lake
資料集底下看到 usa_names_transformed 資料表。
usa_names_transformed
資料樣本。usa_names_transformed
資料表,請重新整理頁面,或使用傳統版 BigQuery 使用者介面查看。
點選「Check my progress」,確認工作已完成。
現在您將建構 data enrichment 管道來完成下列作業:
在程式碼編輯器,開啟 data_enrichment.py
檔案。
詳閱註解,瞭解程式碼的作用。這段程式碼會將資料填入 BigQuery。
目前第 83 行程式碼看起來如下所示:
這個 Dataflow 管道從啟動、完成作業到關閉,大約需要五分鐘。
您應該會在 lake
資料集底下看到 usa_names_enriched 資料表。
usa_names_enriched
資料樣本。usa_names_enriched
資料表,請重新整理頁面,或使用傳統版 BigQuery 使用者介面查看。
點選「Check my progress」,確認工作已完成。
現在您將建構並使用 Dataflow 管道,從兩個 BigQuery 資料來源讀取資料,然後 join 資料來源。具體來說,這個管道應能完成以下工作:
首先請查看 data_lake_to_mart.py
程式碼來瞭解其作用,接著在雲端執行這個管道。
data_lake_to_mart.py
檔案。請詳閱檔案註解,瞭解程式碼的作用。這段程式碼會 join 兩份資料表,並將結果寫入新的 BigQuery 資料表。
前往 Google Cloud 控制台,在標題列的「搜尋」欄位輸入 Dataflow,然後點選搜尋結果中的「Dataflow」。
點選這項新工作來查看狀態。
這個 Dataflow 管道從啟動、完成作業到關閉,大約需要五分鐘。
您應該會在 lake
資料集底下看到 orders_denormalized_sideinput 資料表。
orders_denormalized_sideinput
資料樣本。orders_denormalized_sideinput
資料表,請重新整理頁面,或使用傳統版 BigQuery 使用者介面查看。
點選「Check my progress」,確認工作已完成。
您可以透過下列選擇題加強自己的理解,確實掌握這個實驗室介紹的概念。按照您的理解盡力回答即可。
您已順利使用 Dataflow 執行 Python 程式碼,將 Cloud Storage 的資料擷取至 BigQuery,並在 BigQuery 轉換及充實資料。
想瞭解更多資訊嗎?歡迎瀏覽以下官方說明文件:
協助您瞭解如何充分運用 Google Cloud 的技術。我們的課程會介紹專業技能和最佳做法,讓您可以快速掌握要領並持續進修。我們提供從基本到進階等級的訓練課程,並有隨選、線上和虛擬課程等選項,方便您抽空參加。認證可協助您驗證及證明自己在 Google Cloud 技術方面的技能和專業知識。
使用手冊上次更新日期:2025 年 4 月 1 日
實驗室上次測試日期:2025 年 4 月 1 日
Copyright 2025 Google LLC 保留所有權利。Google 和 Google 標誌是 Google LLC 的商標,其他公司和產品名稱則有可能是其關聯公司的商標。
此内容目前不可用
一旦可用,我们会通过电子邮件告知您
太好了!
一旦可用,我们会通过电子邮件告知您
一次一个实验
确认结束所有现有实验并开始此实验