创建目标广告系列流水线

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


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

操作演示


场景

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

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

  • 地点:您只投放给加利福尼亚州、华盛顿州和俄勒冈州的客户。
  • 费用:为了节省燃料,您可以向能够快速联系的客户送餐 家园您只投放给大道沿途客户。

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

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

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

目标

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

准备工作

  1. 登录您的 Google Cloud 账号。如果您是 Google Cloud 新手,请创建一个账号来评估我们的产品在实际场景中的表现。新客户还可获享 $300 赠金,用于运行、测试和部署工作负载。
  2. In the Google Cloud console, on the project selector page, select or create a Google Cloud project.

    Go to project selector

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

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

    Go to project selector

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

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

    Enable the APIs

  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. 请选择一个角色字段中,选择 Custom Role-Tutorial(自定义角色 - 教程)。

  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. 解析选项窗口中,指定以下内容:

    • 格式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. 点击应用

    列中的值是加利福尼亚州俄勒冈州华盛顿州

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

  1. 点击StreetAddress列下拉菜单,然后选择StreetAddress
  2. 在过滤条件窗口中,执行以下操作:
    1. 点击保留行
    2. 点击如果下拉菜单,选择值包含,然后输入 Avenue
    3. 选择忽略大小写
    4. 点击应用

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

创建批处理流水线

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

Cloud Data Fusion 可转换您在 Studio 中构建的流水线 Apache Spark 程序,在 Google Cloud 控制台中执行转换, 在临时 Dataproc 集群上并行运行。通过此流程,您可以以可扩容、可靠的方式对大量数据执行复杂的转换,而无需处理基础架构。

  1. 在 Wrangler 页面上,点击创建流水线
  2. 选择批处理流水线。系统会打开 Studio 页面。
  3. 在 Studio 页面上,GCSFile 源节点连接到 Wrangler 节点。

    连接到 Wrangler 节点的 GCSFile 节点

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

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

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

    查看应用的转换

  5. 点击验证

  6. 点击 关闭

您可以通过点击 Wrangle 应用更多转换,该操作将返回到 访问 Wrangler 页面。您添加的转换会显示在 Studio 页面上。

例如,您发现不需要 Country 列,因为 始终为 USA。请按以下步骤删除此列:

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

缩写州名

运送车辆的导航系统只能识别包含州名缩写(例如 CA,而非 California)的地址,而客户数据包含的是完整州名。

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

在 BigQuery 中查看州名数据

  1. 在单独的标签页中,进入 BigQuery Studio 页面:

    转到 BigQuery

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

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

    BigQuery 会显示州名及其缩写的列表。

访问 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. 点击 关闭

联接两个数据源

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

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

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

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

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

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

    1. 字段部分中,展开 WranglerBigQuery

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

        连接符节点属性

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

    3. 联接条件部分中,对于 Wrangler,选择。对于 BigQuery,选择名称

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

    5. 点击验证

    6. 点击 关闭

将输出存储到 BigQuery

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

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

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

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

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

部署并运行流水线

  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. 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.

后续步骤