建立指定廣告活動管道
瞭解如何使用 Cloud Data Fusion 清理、轉換及處理客戶資料,以便選出指定目標廣告活動的候選對象。
如要直接在 Google Cloud 控制台按照逐步指南操作,請按一下「Guide me」(逐步引導):
情境
您想為進行中的廣告促銷活動建立自訂行銷資料,且希望直接將這些資料送達客戶住家信箱。
這個廣告活動有兩項限制:
- 地點:這些資料只會送到加州、華盛頓州和奧勒岡州客戶的住家。
- 成本:為節省燃料成本,您會將商品送到客戶住家附近,只為住在大街的顧客提供服務。
本教學課程說明如何產生廣告活動的客戶地址清單。在本教學課程中,執行下列操作:
- 清理客戶資料:篩選在加州、華盛頓州或奧勒岡州住在大道上的客戶。
建立可執行下列作業的管道:
- 彙整經過篩選的客戶資料與含有州名縮寫的公開資料集。
- 可將清理完畢且經過彙整的資料儲存在 BigQuery 資料表中,以供您使用 BigQuery 網頁介面進行查詢,或是使用 Looker Studio 加以分析。
目標
- 將 Cloud Data Fusion 連結至兩個資料來源
- 套用基本轉換
- 彙整兩個資料來源
- 將輸出資料寫入接收器
事前準備
- Sign in to your Google Cloud account. If you're new to Google Cloud, create an account to evaluate how our products perform in real-world scenarios. New customers also get $300 in free credits to run, test, and deploy workloads.
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
-
Make sure that billing is enabled for your Google Cloud project.
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
-
Make sure that billing is enabled for your Google Cloud project.
-
Enable the Cloud Data Fusion, BigQuery, Cloud Storage, and Dataproc APIs.
- 建立 Cloud Data Fusion 執行個體。
本教學課程假設您使用預設的 Compute Engine 服務帳戶。 前往 Google Cloud 控制台的「Roles」(角色) 頁面:
按一下
「Create Role」(建立角色)。在「Title」(名稱)欄位中,輸入
Custom Role-Tutorial
。按一下「
Add permissions」(新增權限)。在「Add permissions」(新增權限) 視窗中,選取下列權限,然後按一下「Add」(新增):
bigquery.datasets.create
bigquery.jobs.create
storage.buckets.create
按一下「Create」(建立)。
前往 Cloud Data Fusion 的「Instances」(執行個體) 頁面:
按一下執行個體的名稱。
記下預設的 Dataproc 服務帳戶。執行個體詳細資料頁面會包含這項資訊。
以下是 Dataproc 服務帳戶名稱的格式:
CUSTOMER_PROJECT_NUMBER-compute@developer.gserviceaccount.com
。進一步瞭解 Dataproc 服務帳戶。
前往「IAM」(身分與存取權管理) 頁面:
在「Filter」(篩選器) 列中,輸入預設 Dataproc 服務帳戶的名稱。
如果是預設的 Compute Engine 服務帳戶,請按一下
「Edit」(編輯)。按一下
「Add another role」(新增其他角色)。在「Select a role」(請選擇角色) 欄位中,選取「Custom Role-Tutorial」(自訂角色教學課程)。
按一下「Save」(儲存)。
確認服務帳戶已獲派「Cloud Data Fusion Runner」(Cloud Data Fusion 執行者) 角色。
管理權限
建立及指派必要的自訂角色和權限。
建立自訂角色及新增權限
將自訂角色指派給預設的 Compute Engine 服務帳戶
準備客戶資料
本教學課程需要下列兩個輸入資料集,兩者皆隨附於您的 Cloud Data Fusion 執行個體:
- 客戶資料範例:名為
customers.csv
的 CSV 檔案。 - 州名縮寫:名為
state_abbreviations
的 BigQuery 資料表。
載入客戶資料
前往 Cloud Data Fusion 的「Instances」(執行個體) 頁面:
針對您使用的 Cloud Data Fusion 執行個體,按一下「View instance」(查看執行個體)。Cloud Data Fusion 網頁介面會在新分頁中開啟。
按一下「Wrangler」。「Wrangler」頁面隨即開啟。
在「Connections」(連線) 窗格中,依序點選「GCS」>「Sample Buckets」(範例值區)。
點選「campaign-tutorial」。
按一下「customers.csv」。
在「Parsing options」(剖析選項) 視窗中,指定下列設定:
- 「Format」(形式):
csv
- 「Enable quoted value」(啟用引用值):
False
- 「Use first row as header」(使用第一列做為標題):
False
- 「File-encoding」(檔案編碼):
UTF-8
- 「Format」(形式):
按一下「Confirm」(確認)。客戶資料會在 Wrangler 的新分頁中載入。
清理客戶資料
這包含兩項子工作:
- 設定結構定義
- 篩選客戶資料,只顯示需要的目標對象
設定結構定義
為資料表資料欄指派適當名稱,設定資料結構定義。如要為資料欄 (例如 body_1
和 body_2
) 提供具備足夠資訊的名稱,請按照下列步驟操作:
- 按一下右側窗格中的「Columns」(資料欄) 分頁標籤。
- 按一下「Column names」(資料欄名稱) 下拉式選單,然後選取「Set all」(設定全部)。
在「Bulk set column names」(大量設定資料欄名稱) 對話方塊中,輸入下列以半形逗號分隔的資料欄名稱:
Name,StreetAddress,City,State,Country
按一下「Apply」(套用)。
篩選資料
篩選資料,只顯示住在加州、奧勒岡州和華盛頓州的客戶。
移除值並非這些州的所有資料列:
- 按一下「State」(州) 欄的下拉式選單,然後選取「Filter」(篩選器)。
在「Filter」(篩選器) 視窗中,執行下列操作:
- 按一下「Keep rows」(保留資料列)。
- 按一下「If」(如果) 下拉式選單,然後選取「value matches regex」(值與規則運算式相符)。
輸入下列規則運算式:
^(California|Oregon|Washington)$
按一下「Apply」(套用)。
「State」(州) 欄中的值是「California」(加州)、「Oregon」(奧勒岡州) 或「Washington」(華盛頓州)。
篩選資料,只顯示住在大道的顧客。僅保留含有 Avenue
字串的住址:
- 按一下「StreetAddress」(街道地址) StreetAddress欄下拉式選單,然後選取「Filter」(篩選器)StreetAddress。
- 在「Filter」(篩選器) 視窗中,執行下列操作:
- 按一下「Keep rows」(保留資料列)。
- 按一下「If」(如果) 下拉式選單,然後選取「value contains」(值包含),輸入
Avenue
。 - 勾選「Ignore case」(忽略大小寫)。
- 按一下「Apply」(套用)。
對整個資料集執行平行處理工作之前,Wrangler 只會顯示資料集的前 1000 個值。由於您篩選了部分資料,因此 Wrangler 顯示畫面只會列出少數客戶。
建立批次管道
您已清理資料,並對部分資料執行轉換作業。現在,您可以建立批次管道,以便對整個資料集執行轉換作業。
Cloud Data Fusion 會將您在 Studio 中建構的管道轉換為 Apache Spark 程式,以便在臨時 Dataproc 叢集中平行執行轉換作業。這個程序可讓您以可擴充、穩定可靠的方式,針對大量資料執行複雜的轉換作業,而無需處理基礎架構。
- 在 Wrangler 頁面中,按一下「Create a pipeline」(建立管道)。
- 選取「Batch pipeline」(批次管道)。「Studio」(工作室) 頁面隨即開啟。
在「Studio」(工作室) 頁面中,「GCSFile」來源節點會連線至「Wrangler」節點。
您在「Wrangler」頁面上套用的轉換,會顯示在「Studio」(工作室) 頁面的「Wrangler」節點中。
如要查看您套用的轉換,請將滑鼠游標懸停在「Wrangler」節點上,然後按一下「Properties」(屬性)。
您套用的轉換會顯示在「Directives」(指令) 中。
按一下「Validate」(驗證)。
點按
「Close」(關閉)。
舉例來說,您發現「國家/地區」欄的值一律為 USA
,因此不需要這個欄。如要刪除資料欄,請按照下列步驟操作:
- 按一下「Wrangle」。
- 點選「國家/地區」旁的向下箭頭,然後選取「刪除資料欄」。
- 按一下 [套用]。「Wrangler」頁面會關閉,並在「Studio」頁面上開啟「Wrangler Properties」視窗。在「指令」中,會顯示
drop Country
。 - 點按 「Close」(關閉)。
州名縮寫
配送車輛中的導航系統只能辨識包含縮寫州名 (加州而非加利福尼亞州) 的地址,且顧客數位資料中包含完整州名。
公開 BigQuery state_abbreviations
資料表包含兩個資料欄,一個具有完整的州名,另一個則具有州名縮寫。您可以使用這個資料表來更新顧客數位資料中的州名。
查看 BigQuery 中的州名資料
開啟另一個分頁,前往「BigQuery Studio」頁面:
按一下「Create SQL query」(建立 SQL 查詢),並在查詢編輯器中輸入下列查詢:
SELECT * FROM `dis-user-guide.campaign_tutorial.state_abbreviations`
按一下「Run」(執行)。
BigQuery 會列出州名及其縮寫。
存取 BigQuery 資料表
在管道中新增 BigQuery state_abbreviations
資料表存取來源。
- 前往「Cloud Data Fusion Studio」頁面,然後展開「Source」(來源) 選單。
按一下「BigQuery」。
面板會顯示「BigQuery」來源節點與另外兩個節點。
將游標懸停在「BigQuery」來源節點上,然後按一下「Properties」(屬性)。
- 在「Dataset Project ID」(資料集專案 ID) 欄位中,輸入
dis-user-guide
。 - 在「Reference Name」(參照名稱) 欄位中,輸入
state_abbreviations
。 - 在「Dataset」(資料集) 欄位中輸入
campaign_tutorial
。 - 在「Table」(資料表) 欄位中輸入
state_abbreviations
。
- 在「Dataset Project ID」(資料集專案 ID) 欄位中,輸入
按一下「Get Schema」(取得結構定義),填入 BigQuery 資料表的結構定義。
點按
「Close」(關閉)。
彙整兩個資料來源
如要產生含州名縮寫顧客數位資料的輸出內容,請彙整兩個資料來源、顧客數位資料和州名縮寫。
- 前往「Cloud Data Fusion Studio」頁面,然後展開「Analytics」(數據分析) 選單。
按一下「Joiner」(彙整器)。
面板上會顯示「Joiner」(彙整器) 節點,代表類似 SQL 彙整的動作。
如要將「Wrangler」節點與「BigQuery」節點連結至「Joiner」(彙整器) 節點,請將來源節點右方的連結箭頭拖曳至目標節點。
將游標懸停在「Joiner」(彙整器) 節點上,然後按一下「Properties」(屬性)。
在「Fields」(欄位) 專區中,展開「Wrangler」和「BigQuery」。
- 清除 Wrangler 的「state」(州) 核取方塊。
- 清除 BigQuery「name」(名稱)核取方塊,因為只需要縮寫狀態名稱,而非完整狀態名稱。
勾選 BigQuery「abbreviation」(縮寫) 核取方塊,將別名變更為
State
。
將「Join Type」(彙整類型) 欄位中的值保留為「Outer」。針對「Required inputs」(必要輸入內容),勾選「Wrangler」核取方塊。
在「Join condition」(彙整條件) 專區中,為 Wrangler 選取「State」(州)。如果是 BigQuery,請選取「name」(名稱)。
產生彙整結果的結構定義。按一下「Get Schema」(取得結構定義)
按一下「Validate」(驗證)。
點按
「Close」(關閉)。
將輸出內容儲存至 BigQuery
將管道的結果儲存至 BigQuery 資料表。其中儲存資料的位置稱為接收器。
- 前往「Cloud Data Fusion Studio」頁面,然後展開「Sink」(接收器)。
- 按一下「BigQuery」。
將「Joiner」(彙整器) 節點連結至「BigQuery」節點。
將游標懸停在「BigQuery」節點上,然後按一下「Properties」(屬性)。
- 在「Dataset」(資料集) 欄位中輸入
dis_user_guide
。 - 在「Table」(資料表) 欄位中,選取
customer_data_abbreviated_states
。 - 點按 「Close」(關閉)。
- 在「Dataset」(資料集) 欄位中輸入
部署及執行管道
- 在「Studio」(工作室) 頁面中,按一下「Name your pipeline」(為管道命名),然後輸入
CampaignPipeline
。 - 按一下「Save」(儲存)。
- 按一下右上角的「Deploy」(部署)。
- 部署完成後,按一下「Run」(執行)。
管道執行作業會在幾分鐘內完成。等待期間,您會發現管道轉換作業的「Status」(狀態) 為「Provisioning」(佈建中) >「Starting」(啟動中) >「Running」(執行中) >「Deprovisioning」(取消佈建中) >「Succeeded」(成功)。
查看結果
前往 Google Cloud 控制台的「BigQuery」頁面:
按一下「Create SQL query」(建立 SQL 查詢)。
查詢
customer_data_abbreviated_states
資料表:SELECT * FROM dis_user_guide.customer_data_abbreviated_states LIMIT 1000
已成功建立資料 pipeline。
清除所用資源
如要避免系統向您的 Google Cloud 帳戶收取您在本頁所用資源的費用,請按照下列步驟操作。
刪除 BigQuery 資料集
如要刪除您在本教學課程中建立的 BigQuery 資料集,請執行下列操作:
- 前往 Google Cloud 控制台的「BigQuery」頁面。
- 選取
dis_user_guide
資料集。 - 按一下 delete「Delete dataset」(刪除資料集)。
刪除 Cloud Data Fusion 執行個體
請按照刪除 Cloud Data Fusion 執行個體一文的操作說明進行。
刪除專案
如要避免付費,最簡單的方法就是刪除您為了本教學課程所建立的專案。
如要刪除專案:
- In the Google Cloud console, go to the Manage resources page.
- In the project list, select the project that you want to delete, and then click Delete.
- In the dialog, type the project ID, and then click Shut down to delete the project.
後續步驟
- 進一步瞭解 Cloud Data Fusion。