建立指定廣告活動管道

瞭解如何使用 Cloud Data Fusion 清理、轉換及處理客戶資料,以便選出指定目標廣告活動的候選對象。


如要直接在 Google Cloud 控制台按照逐步指南操作,請按一下「Guide me」(逐步引導)

逐步引導


情境

您想為進行中的廣告促銷活動建立自訂行銷資料,且希望直接將這些資料送達客戶住家信箱。

這個廣告活動有兩項限制:

  • 地點:這些資料只會送到加州、華盛頓州和奧勒岡州客戶的住家。
  • 成本:為節省燃料成本,您會將商品送到客戶住家附近,只為住在大街的顧客提供服務。

本教學課程說明如何產生廣告活動的客戶地址清單。在本教學課程中,執行下列操作:

  1. 清理客戶資料:篩選在加州、華盛頓州或奧勒岡州住在大道上的客戶。
  2. 建立可執行下列作業的管道:

    • 彙整經過篩選的客戶資料與含有州名縮寫的公開資料集。
    • 可將清理完畢且經過彙整的資料儲存在 BigQuery 資料表中,以供您使用 BigQuery 網頁介面進行查詢,或是使用 Looker Studio 加以分析。

目標

  • 將 Cloud Data Fusion 連結至兩個資料來源
  • 套用基本轉換
  • 彙整兩個資料來源
  • 將輸出資料寫入接收器

事前準備

  1. 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.
  2. In the Google Cloud console, on the project selector page, select or create a Google Cloud project.

    Go to project selector

  3. Make sure that billing is enabled for your Google Cloud project.

  4. In the Google Cloud console, on the project selector page, select or create a Google Cloud project.

    Go to project selector

  5. Make sure that billing is enabled for your Google Cloud project.

  6. Enable the Cloud Data Fusion, BigQuery, Cloud Storage, and Dataproc APIs.

    Enable the APIs

  7. 建立 Cloud Data Fusion 執行個體
    本教學課程假設您使用預設的 Compute Engine 服務帳戶。
  8. 管理權限

    建立及指派必要的自訂角色和權限。

    建立自訂角色及新增權限

    1. 前往 Google Cloud 控制台的「Roles」(角色) 頁面:

      前往「Roles」(角色) 頁面

    2. 按一下 「Create Role」(建立角色)。

    3. 在「Title」(名稱)欄位中,輸入 Custom Role-Tutorial

    4. 按一下「 Add permissions」(新增權限)。

    5. 在「Add permissions」(新增權限) 視窗中,選取下列權限,然後按一下「Add」(新增)

      • bigquery.datasets.create
      • bigquery.jobs.create
      • storage.buckets.create
    6. 按一下「Create」(建立)

    將自訂角色指派給預設的 Compute Engine 服務帳戶

    1. 前往 Cloud Data Fusion 的「Instances」(執行個體) 頁面

      建立執行個體

    2. 按一下執行個體的名稱。

    3. 記下預設的 Dataproc 服務帳戶。執行個體詳細資料頁面會包含這項資訊。

      以下是 Dataproc 服務帳戶名稱的格式:

      CUSTOMER_PROJECT_NUMBER-compute@developer.gserviceaccount.com

      進一步瞭解 Dataproc 服務帳戶

    4. 前往「IAM」(身分與存取權管理) 頁面:

      前往「Roles」(角色) 頁面

    5. 在「Filter」(篩選器) 列中,輸入預設 Dataproc 服務帳戶的名稱。

    6. 如果是預設的 Compute Engine 服務帳戶,請按一下 「Edit」(編輯)

    7. 按一下 「Add another role」(新增其他角色)。

    8. 在「Select a role」(請選擇角色) 欄位中,選取「Custom Role-Tutorial」(自訂角色教學課程)

    9. 按一下「Save」(儲存)

    10. 確認服務帳戶已獲派「Cloud Data Fusion Runner」(Cloud Data Fusion 執行者) 角色。

準備客戶資料

本教學課程需要下列兩個輸入資料集,兩者皆隨附於您的 Cloud Data Fusion 執行個體:

  • 客戶資料範例:名為 customers.csv 的 CSV 檔案。
  • 州名縮寫:名為 state_abbreviations 的 BigQuery 資料表。

載入客戶資料

  1. 前往 Cloud Data Fusion 的「Instances」(執行個體) 頁面

    前往「Instances」(執行個體)

  2. 針對您使用的 Cloud Data Fusion 執行個體,按一下「View instance」(查看執行個體)。Cloud Data Fusion 網頁介面會在新分頁中開啟。

  3. 按一下「Wrangler」。「Wrangler」頁面隨即開啟。

  4. 在「Connections」(連線) 窗格中,依序點選「GCS」>「Sample Buckets」(範例值區)

  5. 點選「campaign-tutorial」

  6. 按一下「customers.csv」

  7. 在「Parsing options」(剖析選項) 視窗中,指定下列設定:

    • 「Format」(形式)csv
    • 「Enable quoted value」(啟用引用值)False
    • 「Use first row as header」(使用第一列做為標題)False
    • 「File-encoding」(檔案編碼)UTF-8
  8. 按一下「Confirm」(確認)。客戶資料會在 Wrangler 的新分頁中載入。

    已載入的客戶資料

清理客戶資料

這包含兩項子工作:

  • 設定結構定義
  • 篩選客戶資料,只顯示需要的目標對象

設定結構定義

為資料表資料欄指派適當名稱,設定資料結構定義。如要為資料欄 (例如 body_1body_2) 提供具備足夠資訊的名稱,請按照下列步驟操作:

  1. 按一下右側窗格中的「Columns」(資料欄) 分頁標籤。
  2. 按一下「Column names」(資料欄名稱) 下拉式選單,然後選取「Set all」(設定全部)
  3. 在「Bulk set column names」(大量設定資料欄名稱) 對話方塊中,輸入下列以半形逗號分隔的資料欄名稱:

    Name,StreetAddress,City,State,Country
    
  4. 按一下「Apply」(套用)

篩選資料

篩選資料,只顯示住在加州、奧勒岡州和華盛頓州的客戶。

移除值並非這些州的所有資料列:

  1. 按一下「State」(州) 欄的下拉式選單,然後選取「Filter」(篩選器)。
  2. 在「Filter」(篩選器) 視窗中,執行下列操作:

    1. 按一下「Keep rows」(保留資料列)
    2. 按一下「If」(如果) 下拉式選單,然後選取「value matches regex」(值與規則運算式相符)
    3. 輸入下列規則運算式:

      ^(California|Oregon|Washington)$
      
    4. 按一下「Apply」(套用)

    「State」(州) 欄中的值是「California」(加州)、「Oregon」(奧勒岡州) 或「Washington」(華盛頓州)

篩選資料,只顯示住在大道的顧客。僅保留含有 Avenue 字串的住址:

  1. 按一下「StreetAddress」(街道地址) StreetAddress欄下拉式選單,然後選取「Filter」(篩選器)StreetAddress
  2. 在「Filter」(篩選器) 視窗中,執行下列操作:
    1. 按一下「Keep rows」(保留資料列)
    2. 按一下「If」(如果) 下拉式選單,然後選取「value contains」(值包含),輸入 Avenue
    3. 勾選「Ignore case」(忽略大小寫)
    4. 按一下「Apply」(套用)

對整個資料集執行平行處理工作之前,Wrangler 只會顯示資料集的前 1000 個值。由於您篩選了部分資料,因此 Wrangler 顯示畫面只會列出少數客戶。

建立批次管道

您已清理資料,並對部分資料執行轉換作業。現在,您可以建立批次管道,以便對整個資料集執行轉換作業。

Cloud Data Fusion 會將您在 Studio 中建構的管道轉換為 Apache Spark 程式,以便在臨時 Dataproc 叢集中平行執行轉換作業。這個程序可讓您以可擴充、穩定可靠的方式,針對大量資料執行複雜的轉換作業,而無需處理基礎架構。

  1. 在 Wrangler 頁面中,按一下「Create a pipeline」(建立管道)
  2. 選取「Batch pipeline」(批次管道)。「Studio」(工作室) 頁面隨即開啟。
  3. 在「Studio」(工作室) 頁面中,「GCSFile」來源節點會連線至「Wrangler」節點。

    GCSFile 節點已連結至 Wrangler 節點

    您在「Wrangler」頁面上套用的轉換,會顯示在「Studio」(工作室) 頁面的「Wrangler」節點中。

  4. 如要查看您套用的轉換,請將滑鼠游標懸停在「Wrangler」節點上,然後按一下「Properties」(屬性)

    您套用的轉換會顯示在「Directives」(指令) 中。

    查看已套用的轉換

  5. 按一下「Validate」(驗證)

  6. 點按 「Close」(關閉)。

您可以按一下「Wrangle」Wrangle,套用更多轉換作業,這會將您帶回「Wrangler」頁面。您新增的轉換會顯示在 Studio 頁面上。

舉例來說,您發現「國家/地區」欄的值一律為 USA,因此不需要這個欄。如要刪除資料欄,請按照下列步驟操作:

  1. 按一下「Wrangle」
  2. 點選「國家/地區」旁的向下箭頭,然後選取「刪除資料欄」
  3. 按一下 [套用]。「Wrangler」頁面會關閉,並在「Studio」頁面上開啟「Wrangler Properties」視窗。在「指令」中,會顯示 drop Country
  4. 點按 「Close」(關閉)

州名縮寫

配送車輛中的導航系統只能辨識包含縮寫州名 (加州而非加利福尼亞州) 的地址,且顧客數位資料中包含完整州名。

公開 BigQuery state_abbreviations 資料表包含兩個資料欄,一個具有完整的州名,另一個則具有州名縮寫。您可以使用這個資料表來更新顧客數位資料中的州名。

查看 BigQuery 中的州名資料

  1. 開啟另一個分頁,前往「BigQuery Studio」頁面:

    前往 BigQuery

  2. 按一下「Create SQL query」(建立 SQL 查詢),並在查詢編輯器中輸入下列查詢:

    SELECT * FROM `dis-user-guide.campaign_tutorial.state_abbreviations`
    
  3. 按一下「Run」(執行)

    BigQuery 會列出州名及其縮寫。

存取 BigQuery 資料表

在管道中新增 BigQuery state_abbreviations 資料表存取來源。

  1. 前往「Cloud Data Fusion Studio」頁面,然後展開「Source」(來源) 選單。
  2. 按一下「BigQuery」

    面板會顯示「BigQuery」來源節點與另外兩個節點。

  3. 將游標懸停在「BigQuery」來源節點上,然後按一下「Properties」(屬性)

    1. 在「Dataset Project ID」(資料集專案 ID) 欄位中,輸入 dis-user-guide
    2. 在「Reference Name」(參照名稱) 欄位中,輸入 state_abbreviations
    3. 在「Dataset」(資料集) 欄位中輸入 campaign_tutorial
    4. 在「Table」(資料表) 欄位中輸入 state_abbreviations
  4. 按一下「Get Schema」(取得結構定義),填入 BigQuery 資料表的結構定義。

  5. 點按 「Close」(關閉)

彙整兩個資料來源

如要產生含州名縮寫顧客數位資料的輸出內容,請彙整兩個資料來源、顧客數位資料和州名縮寫。

  1. 前往「Cloud Data Fusion Studio」頁面,然後展開「Analytics」(數據分析) 選單。
  2. 按一下「Joiner」(彙整器)

    面板上會顯示「Joiner」(彙整器) 節點,代表類似 SQL 彙整的動作。

  3. 如要將「Wrangler」節點與「BigQuery」節點連結至「Joiner」(彙整器) 節點,請將來源節點右方的連結箭頭拖曳至目標節點。

    將 Wrangler 和 BigQuery 節點彙整至 Joiner 節點

  4. 將游標懸停在「Joiner」(彙整器) 節點上,然後按一下「Properties」(屬性)

    1. 在「Fields」(欄位) 專區中,展開「Wrangler」和「BigQuery」

      1. 清除 Wrangler 的「state」(州) 核取方塊。
      2. 清除 BigQuery「name」(名稱)核取方塊,因為只需要縮寫狀態名稱,而非完整狀態名稱。
      3. 勾選 BigQuery「abbreviation」(縮寫) 核取方塊,將別名變更為 State

        彙整節點屬性

    2. 將「Join Type」(彙整類型) 欄位中的值保留為「Outer」。針對「Required inputs」(必要輸入內容),勾選「Wrangler」核取方塊。

    3. 在「Join condition」(彙整條件) 專區中,為 Wrangler 選取「State」(州)。如果是 BigQuery,請選取「name」(名稱)

    4. 產生彙整結果的結構定義。按一下「Get Schema」(取得結構定義)

    5. 按一下「Validate」(驗證)

    6. 點按 「Close」(關閉)

將輸出內容儲存至 BigQuery

將管道的結果儲存至 BigQuery 資料表。其中儲存資料的位置稱為接收器。

  1. 前往「Cloud Data Fusion Studio」頁面,然後展開「Sink」(接收器)
  2. 按一下「BigQuery」
  3. 將「Joiner」(彙整器) 節點連結至「BigQuery」節點。

    連結 Joiner 節點和 BigQuery 節點

  4. 將游標懸停在「BigQuery」節點上,然後按一下「Properties」(屬性)

    1. 在「Dataset」(資料集) 欄位中輸入 dis_user_guide
    2. 在「Table」(資料表) 欄位中,選取 customer_data_abbreviated_states
    3. 點按 「Close」(關閉)

部署及執行管道

  1. 在「Studio」(工作室) 頁面中,按一下「Name your pipeline」(為管道命名),然後輸入 CampaignPipeline
  2. 按一下「Save」(儲存)
  3. 按一下右上角的「Deploy」(部署)
  4. 部署完成後,按一下「Run」(執行)

管道執行作業會在幾分鐘內完成。等待期間,您會發現管道轉換作業的「Status」(狀態) 為「Provisioning」(佈建中) >「Starting」(啟動中) >「Running」(執行中) >「Deprovisioning」(取消佈建中) >「Succeeded」(成功)

查看結果

  1. 前往 Google Cloud 控制台的「BigQuery」頁面:

    前往「BigQuery」

  2. 按一下「Create SQL query」(建立 SQL 查詢)

  3. 查詢 customer_data_abbreviated_states 資料表:

    SELECT * FROM dis_user_guide.customer_data_abbreviated_states LIMIT 1000
    

    查看結果

已成功建立資料 pipeline。

清除所用資源

如要避免系統向您的 Google Cloud 帳戶收取您在本頁所用資源的費用,請按照下列步驟操作。

刪除 BigQuery 資料集

如要刪除您在本教學課程中建立的 BigQuery 資料集,請執行下列操作:

  1. 前往 Google Cloud 控制台的「BigQuery」頁面。

    前往 BigQuery

  2. 選取 dis_user_guide 資料集。
  3. 按一下 「Delete dataset」(刪除資料集)。

刪除 Cloud Data Fusion 執行個體

請按照刪除 Cloud Data Fusion 執行個體一文的操作說明進行。

刪除專案

如要避免付費,最簡單的方法就是刪除您為了本教學課程所建立的專案。

如要刪除專案:

  1. In the Google Cloud console, go to the Manage resources page.

    Go to Manage resources

  2. In the project list, select the project that you want to delete, and then click Delete.
  3. In the dialog, type the project ID, and then click Shut down to delete the project.

後續步驟