创建目标广告系列渠道

了解如何使用 Cloud Data Fusion 清理、转换和处理客户数据,以便为目标广告系列选择候选对象。


如需在 Google Cloud 控制台中直接遵循有关此任务的分步指导,请点击操作演示

操作演示


情况

您想为正在进行的广告系列推广创建自定义营销材料,并且希望将这些材料直接分发到客户的家庭邮箱。

您的广告系列受以下两个条件的限制:

  • 地点:您只投放给加利福尼亚州、华盛顿州和俄勒冈州的客户。
  • 费用:为了节省燃料,客户送货到家,方便快捷。您只投放给大道沿途客户。

本教程介绍了如何生成广告系列的客户地址列表。在本教程中,您将执行以下操作:

  1. 清理客户数据:过滤住在加利福尼亚州、华盛顿州或俄勒冈州大道沿途的客户。
  2. 创建一个执行以下操作的流水线:

    • 将过滤出的客户数据与包含州名缩写的公共数据集进行联接。
    • 将已清理和已联接的数据存储在 BigQuery 表中,您可以(使用 BigQuery 网页界面)执行查询或分析(使用 Looker Studio)。

目标

  • 将 Cloud Data Fusion 连接到两个数据源
  • 应用基本转换
  • 联接两个数据源
  • 将输出数据写入接收器

准备工作

  1. 登录您的 Google Cloud 账号。如果您是 Google Cloud 新手,请创建一个账号来评估我们的产品在实际场景中的表现。新客户还可获享 $300 赠金,用于运行、测试和部署工作负载。
  2. 在 Google Cloud Console 中的项目选择器页面上,选择或创建一个 Google Cloud 项目

    转到“项目选择器”

  3. 确保您的 Google Cloud 项目已启用结算功能

  4. 在 Google Cloud Console 中的项目选择器页面上,选择或创建一个 Google Cloud 项目

    转到“项目选择器”

  5. 确保您的 Google Cloud 项目已启用结算功能

  6. 启用 Cloud Data Fusion, BigQuery, Cloud Storage, and Dataproc API。

    启用 API

  7. 创建 Cloud Data Fusion 实例
    本教程假定您使用默认 Compute Engine 服务帐号。

管理权限

创建并分配所需的自定义角色和权限。

创建自定义角色并添加权限

  1. 在 Google Cloud 控制台中,前往角色页面:

    转到“角色”页面

  2. 点击创建角色

  3. 书名字段中,输入 Custom Role-Tutorial

  4. 点击 添加权限

  5. 添加权限窗口中,选择以下权限,然后点击添加

    • bigquery.datasets.create
    • bigquery.jobs.create
    • storage.buckets.create
  6. 点击创建

为默认的 Compute Engine 服务帐号分配自定义角色

  1. 转到 Cloud Data Fusion 实例页面:

    创建实例

  2. 点击您的实例名称。

  3. 记下默认的 Dataproc 服务帐号。实例详情页面包含此信息。

    Dataproc 服务帐号名称的格式如下:

    CUSTOMER_PROJECT_NUMBER-compute@developer.gserviceaccount.com.

    详细了解 Dataproc 服务帐号

  4. 转到 IAM 页面:

    转到“角色”页面

  5. 过滤条件栏中,输入默认 Dataproc 服务帐号的名称。

  6. 对于默认的 Compute Engine 服务帐号,请点击 修改

  7. 点击 添加其他角色

  8. 选择角色字段中,选择自定义角色教程

  9. 点击保存

  10. 确保已为服务帐号分配了 Cloud Data Fusion Runner 角色。

准备客户数据

本教程需要以下两个输入数据集,这些数据集是与您的 Cloud Data Fusion 实例一起提供的:

  • 客户数据示例:名为 customers.csv 的 CSV 文件。
  • 州名缩写:名为 state_abbreviations 的 BigQuery 表。

加载客户数据

  1. 转到 Cloud Data Fusion 实例页面:

    打开“实例”

  2. 对于您使用的 Cloud Data Fusion 实例,请点击查看实例。Cloud Data Fusion 网页界面将在新标签页中打开。

  3. 点击 Wrangler。系统随即会打开 Wrangler 页面。

  4. 连接窗格中,依次选择 GCS > 示例存储分区

  5. 点击 campaign-tutorial

  6. 点击 customers.csv

  7. Parsing options 窗口中,指定以下内容:

    • 格式csv
    • 启用引号值False
    • 将第一行用作标题False
    • 文件编码UTF-8
  8. 点击确认。 客户数据会在 Wrangler 的新标签页中加载。

    已加载客户数据

清理客户数据

此项包含两项子任务:

  • 设置架构
  • 过滤客户数据,以便仅显示您需要的目标受众群体

设置架构

可通过为表列分配适当的名称来设置数据的架构。要为 body_1body_2 等列指定信息更丰富的名称,请按以下步骤操作:

  1. 在右侧窗格中,点击标签页。
  2. 点击列名称下拉菜单,然后选择设置全部
  3. 批量设置列名称对话框中,输入以下以英文逗号分隔的列名称:

    Name,StreetAddress,City,State,Country
    
  4. 点击应用

对数据进行过滤

过滤数据以仅显示居住在加利福尼亚州、俄勒冈州或华盛顿州的客户。

移除包含这些状态以外的值的所有行:

  1. 点击状态列下拉菜单,然后选择过滤条件
  2. 在过滤条件窗口中,执行以下操作:

    1. 点击保留行
    2. 点击如果下拉菜单,然后选择值与正则表达式匹配
    3. 输入以下正则表达式:

      ^(California|Oregon|Washington)$
      
    4. 点击应用

    State 列中的值是 CaliforniaOregon华盛顿州

对数据进行过滤以仅显示大道沿途客户。仅保留包含字符串 avenue 的地址:

  1. 点击 StreetAddress 列下拉菜单,然后选择过滤条件
  2. 在过滤条件窗口中,执行以下操作:

    1. 点击保留行
    2. 点击如果下拉菜单,选择值包含,然后输入 Avenue
    3. 选择忽略大小写
    4. 点击应用

      对数据进行过滤

在对整个数据集执行并行处理作业之前,Wrangler 只会显示数据集的前 1000 个值。由于您对某些数据进行了过滤,因此只有少数客户会保留在 Wrangler 显示中。

创建批处理流水线

您已清理数据,并已对部分数据运行了转换。您现在可以创建批量流水线,以对整个数据集运行转换。

Cloud Data Fusion 会将您在 Studio 中构建的流水线转换为 Apache Spark 程序,该程序可在临时 Dataproc 集群上并行执行转换。通过此过程,您能够以可伸缩、可靠的方式对大量数据执行复杂的转换,而无需处理基础架构。

  1. 在 Wrangler 页面上,点击创建流水线
  2. 选择批处理流水线。系统会打开 Studio 页面。
  3. 确保左上角的数据流水线 - 批处理显示为流水线类型。

    流水线类型

    在 Studio 页面上,GCSFile 源节点连接到 Wrangler 节点。

    GCSFile 节点连接到 Wrangler 节点

    您在 Wrangler 页面上应用的转换会显示在 Studio 页面上的 Wrangler 节点中。

  4. 如需查看应用的转换,请将指针悬停在 Wrangler 节点上,然后点击属性

    您应用的转换会显示在指令中。

    查看已应用的转换

  5. 点击验证

  6. 点击 关闭

您可以点击 Wrangle 以应用更多转换,这会带您返回 Wrangler 页面。您添加的转换会显示在 Studio 页面上。

例如,您发现不需要国家/地区列,因为其值始终为“美国”。请按以下步骤删除此列:

  1. 点击 Wrangler
  2. 点击国家/地区旁边的下拉菜单,然后选择删除列
  3. 点击应用。系统会关闭 Wrangler 页面,并在 Studio 页面上打开 Wrangler 属性窗口。在指令中,将显示 drop Country
  4. 点击 Close

缩写州名

送货车辆中的导航系统只能识别包含州名缩写的地址(CA,而非 California),并且您的客户数据包含州的完整名称。

公共的 BigQuery state_abbreviations 表格包含两列:一个完整州名列,一个州名缩写列。 您可以使用此表格更新客户数据中的州名称。

在 BigQuery 中查看州名数据

  1. 在单独的标签页中,转到 BigQuery Studio 页面:

    转到 BigQuery

  2. 点击创建 SQL 查询,然后在查询编辑器中输入以下查询:

    SELECT * FROM `dis-user-guide.campaign_tutorial.state_abbreviations`
    
  3. 点击运行

    系统会显示州/省/自治区/直辖市名称及其缩写。

    州名及其缩写

访问 BigQuery 表

在流水线中添加将访问 BigQuery state_abbreviations 表的来源。

  1. 转到 Cloud Data Fusion Studio 页面并展开来源菜单。
  2. 点击 BigQuery

    BigQuery 源节点与其他两个节点一起显示在画布上。

  3. 将指针悬停在 BigQuery 源节点上,然后点击属性

    1. 数据集项目 ID 字段中,输入 dis-user-guide
    2. 参考名称字段中,输入 state_abbreviations
    3. 数据集字段中,输入 campaign_tutorial
    4. 字段中,输入 state_abbreviations
  4. 要从 BigQuery 填充此表的架构,请点击获取架构

  5. 点击 Close

联接两个数据源

如需生成包含客户数据(州名缩写)的输出,请联接两个数据源,即客户数据和州名缩写。

  1. 转到 Cloud Data Fusion Studio 页面,然后展开 Analytics 菜单。
  2. 点击连接符

    画布上会显示一个联接节点,表示类似于 SQL 联接的操作。

  3. Wrangler 节点和 BigQuery 节点连接到连接符节点:拖动源节点右侧边缘的连接箭头并拖放到目标节点上。

    将 Wrangler 和 BigQuery 节点联接到“联接器”节点

  4. 将指针悬停在连接符节点上,然后点击属性

    1. 字段部分中,展开 WranglerBigQuery

      1. 取消选中 Wrangler state复选框。
      2. 清除 BigQuery 名称复选框,因为您只需要州名的缩写名称,而不是完整的州名。
      3. 使 BigQuery 缩写复选框保持选中状态,并将别名更改为 State

        连接符节点属性

    2. Join Type(联接类型)字段中,将值保留为 Outer(外部)。对于必需输入,选中 Wrangler 复选框。

    3. 联接条件部分中,对于 Wrangler,选择状态。对于 BigQuery,请选择 Name

    4. 生成最终联接的架构。点击获取架构

    5. 点击验证

    6. 点击 Close

将输出存储到 BigQuery

将流水线的结果存储到 BigQuery 表中。 您存储数据的位置称为接收器。

  1. 转到 Cloud Data Fusion Studio 页面,然后展开接收器
  2. 点击 BigQuery
  3. 连接符节点连接到 BigQuery 节点。

    连接“连接符”节点与 BigQuery 节点

  4. 将指针悬停在 BigQuery 节点上,然后点击属性

    1. 数据集字段中,输入 dis_user_guide
    2. 字段中,选择 customer_data_abbreviated_states
    3. 点击 Close

部署并运行流水线

  1. 在 Studio 页面上,点击为流水线命名,然后输入 CampaignPipeline

    部署和运行流水线

  2. 点击确定

  3. 在右上角点击部署

  4. 部署完成后,点击运行

运行流水线可能需要几分钟时间。在等待期间,您可以观察到流水线的状态预配 > 开始 > 正在运行 > 正在取消预配 > 成功

查看结果

  1. 在 Google Cloud 控制台中,打开 BigQuery 页面:

    转至 BigQuery

  2. 点击创建 SQL 查询

  3. 查询 customer_data_abbreviated_states 表:

    SELECT * FROM dis_user_guide.customer_data_abbreviated_states LIMIT 1000
    

    查看结果

您已成功创建数据流水线。

清理

为避免因本页中使用的资源导致您的 Google Cloud 账号产生费用,请按照以下步骤操作。

删除 BigQuery 数据集

要删除您在本教程中创建的 BigQuery 数据集,请执行以下操作:

  1. 在 Google Cloud 控制台中,前往 BigQuery 页面。

    转至 BigQuery

  2. 选择 dis_user_guide 数据集。
  3. 点击 删除数据集

删除 Cloud Data Fusion 实例

请按照以下说明删除 Cloud Data Fusion 实例

删除项目

若要避免产生费用,最简单的方法是删除您为本教程创建的项目。

如需删除项目,请执行以下操作:

  1. 在 Google Cloud 控制台中,进入管理资源页面。

    转到“管理资源”

  2. 在项目列表中,选择要删除的项目,然后点击删除
  3. 在对话框中输入项目 ID,然后点击关闭以删除项目。

后续步骤