创建目标广告系列流水线
了解如何使用 Cloud Data Fusion 进行清理、转换和处理 客户数据,以便为目标广告系列选择候选定位设置。
如需在 Google Cloud 控制台中直接遵循有关此任务的分步指导,请点击操作演示:
场景
您想为正在进行的广告系列推广创建自定义营销材料, 并且希望直接将这些材料 客户。
您的广告系列受以下两个条件的限制:
- 地点:您只投放给加利福尼亚州、华盛顿州和俄勒冈州的客户。
- 费用:为了节省燃料,您可以向能够快速联系的客户送餐 家园您只投放给大道沿途客户。
本教程介绍了如何生成广告系列的客户地址列表。在本教程中,您将执行以下操作:
- 清理客户数据:过滤住在加利福尼亚州、华盛顿州或俄勒冈州大道沿途的客户。
创建流水线以执行以下操作:
- 将过滤出的客户数据与包含州名缩写的公共数据集进行联接。
- 将已清理和已联接的数据存储在 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 控制台中,转到角色页面:
点击
创建角色。在书名字段中,输入
Custom Role-Tutorial
。点击
添加权限。在添加权限窗口中,选择以下权限,然后点击添加:
bigquery.datasets.create
bigquery.jobs.create
storage.buckets.create
点击创建。
为默认的 Compute Engine 服务账号分配自定义角色
转到 Cloud Data Fusion 实例页面:
点击您实例的名称。
记下默认的 Dataproc 服务账号。实例详情页面包含此信息。
Dataproc 服务账号名称的格式如下:
CUSTOMER_PROJECT_NUMBER-compute@developer.gserviceaccount.com
。详细了解 Dataproc 服务账号。
转到 IAM 页面:
在过滤条件栏中,输入默认的 Dataproc 服务账号的名称。
对于默认的 Compute Engine 服务账号,请点击
修改。点击
添加其他角色。在请选择一个角色字段中,选择 Custom Role-Tutorial(自定义角色 - 教程)。
点击保存。
确保已为服务账号分配 Cloud Data Fusion Runner 角色。
准备客户数据
本教程需要以下两个输入数据集,这些数据集是与您的 Cloud Data Fusion 实例一起提供的:
- 客户数据示例:名为
customers.csv
的 CSV 文件。 - 州名缩写:名为
state_abbreviations
的 BigQuery 表。
加载客户数据
转到 Cloud Data Fusion 实例页面:
对于您使用的 Cloud Data Fusion 实例,请点击查看实例。Cloud Data Fusion 网页界面会在新标签页中打开。
点击 Wrangler。系统会打开 Wrangler 页面。
在连接窗格中,选择 GCS > 示例存储桶。
点击 campaign-tutorial。
点击 customers.csv。
在解析选项窗口中,指定以下内容:
- 格式:
csv
- 启用引用值:
False
- 将第一行用作标题:
False
- 文件编码:
UTF-8
- 格式:
点击确认。 客户数据会加载到 Wrangler 的新标签页中。
清理客户数据
此步骤包含两个子任务:
- 设置架构
- 过滤客户数据以仅显示您需要的目标受众群体
设置架构
可通过为表列分配适当的名称来设置数据的架构。如需为 body_1
和 body_2
等列指定信息更丰富的名称,请按照以下步骤操作:
- 在右侧窗格中,点击列标签页。
- 点击列名称下拉菜单,然后选择设置全部。
在批量设置列名称对话框中,输入以下以英文逗号分隔的列名称:
Name,StreetAddress,City,State,Country
点击应用。
对数据进行过滤
对数据进行过滤以仅显示加利福尼亚州、俄勒冈州或华盛顿州的客户。
移除包含这些州以外的值的所有行:
- 点击州列下拉菜单,然后选择过滤条件。
在过滤条件窗口中,执行以下操作:
- 点击保留行。
- 点击如果下拉菜单,然后选择值与正则表达式匹配。
输入以下正则表达式:
^(California|Oregon|Washington)$
点击应用。
州列中的值是加利福尼亚州、俄勒冈州或华盛顿州。
对数据进行过滤以仅显示大道沿途客户。仅保留包含字符串 Avenue
的地址:
- 点击StreetAddress列下拉菜单,然后选择StreetAddress。
- 在过滤条件窗口中,执行以下操作:
- 点击保留行。
- 点击如果下拉菜单,选择值包含,然后输入
Avenue
。 - 选择忽略大小写。
- 点击应用。
在对整个数据集执行并行处理作业之前,Wrangler 只会显示数据集的前 1000 个值。由于您对某些数据进行了过滤,因此只有少数客户会保留在 Wrangler 显示中。
创建批处理流水线
您已清理数据,并已对部分数据运行了转换。您现在可以创建批量流水线,以对整个数据集运行转换。
Cloud Data Fusion 可转换您在 Studio 中构建的流水线 Apache Spark 程序,在 Google Cloud 控制台中执行转换, 在临时 Dataproc 集群上并行运行。通过此流程,您可以以可扩容、可靠的方式对大量数据执行复杂的转换,而无需处理基础架构。
- 在 Wrangler 页面上,点击创建流水线。
- 选择批处理流水线。系统会打开 Studio 页面。
在 Studio 页面上,GCSFile 源节点连接到 Wrangler 节点。
您在 Wrangler 页面上应用的转换会显示在 Studio 页面的Wrangler 节点中。
如需查看您应用的转换,请将指针悬停在 Wrangler 节点上,然后点击属性。
您应用的转换会显示在指令中。
点击验证。
点击
关闭。
例如,您发现不需要 Country 列,因为
始终为 USA
。请按以下步骤删除此列:
- 点击 Wrangler。
- 点击国家/地区旁边的下拉菜单,然后选择删除列。
- 点击应用。Wrangler 页面会关闭,Studio 页面上会打开 Wrangler 属性窗口。在 Directives 中,出现
drop Country
。 - 点击 关闭。
缩写州名
运送车辆的导航系统只能识别包含州名缩写(例如 CA,而非 California)的地址,而客户数据包含的是完整州名。
公共的 BigQuery state_abbreviations
表格包含两列:一个完整州名列,一个州名缩写列。
您可以使用此表更新客户数据中的州名。
在 BigQuery 中查看州名数据
在单独的标签页中,进入 BigQuery Studio 页面:
点击创建 SQL 查询,然后在查询编辑器中输入以下查询:
SELECT * FROM `dis-user-guide.campaign_tutorial.state_abbreviations`
点击运行。
BigQuery 会显示州名及其缩写的列表。
访问 BigQuery 表
在流水线中添加来源以访问 BigQuery state_abbreviations
表。
- 进入 Cloud Data Fusion Studio 页面,然后展开来源菜单。
点击 BigQuery。
一个 BigQuery 源节点会与其他两个节点一起显示在画布上。
将指针悬停在 BigQuery 源节点上,然后点击属性。
- 在数据集项目 ID 字段中,输入
dis-user-guide
。 - 在参考名称字段中,输入
state_abbreviations
。 - 在数据集字段中,输入
campaign_tutorial
。 - 在表字段中,输入
state_abbreviations
。
- 在数据集项目 ID 字段中,输入
要从 BigQuery 填充此表的架构,请点击获取架构。
点击
关闭。
联接两个数据源
如需生成包含客户数据(带有州名缩写)的输出,请联接两个数据源,即客户数据和州名缩写。
- 进入 Cloud Data Fusion Studio 页面,然后展开 Analytics 菜单。
点击连接符。
画布上会显示一个连接符节点,表示类似于 SQL 联接的操作。
要将 Wrangler 节点和 BigQuery 节点连接到连接符节点:请拖动源节点右边缘的连接箭头并放置在目标节点上。
将指针悬停在连接符节点上,然后点击属性。
在字段部分中,展开 Wrangler 和 BigQuery。
- 取消选中 Wrangler 州复选框。
- 清除 BigQuery 名称复选框,因为您只需要州名缩写而非完整州名。
让 BigQuery 缩写复选框保持选中状态,并将别名更改为
State
。
在联接类型字段中,将值保留为外部。对于必需输入,选中 Wrangler 复选框。
在联接条件部分中,对于 Wrangler,选择州。对于 BigQuery,选择名称。
生成最终联接的架构。点击获取架构。
点击验证。
点击
关闭。
将输出存储到 BigQuery
将流水线的结果存储到 BigQuery 表中。 您存储数据的位置称为接收器。
- 进入 Cloud Data Fusion Studio 页面,然后展开接收器。
- 点击 BigQuery。
将连接符节点连接到 BigQuery 节点。
将指针悬停在 BigQuery 节点上,然后点击属性。
- 在数据集字段中,输入
dis_user_guide
。 - 在表字段中,选择
customer_data_abbreviated_states
。 - 点击 关闭。
- 在数据集字段中,输入
部署并运行流水线
- 在 Studio 页面上,点击为流水线命名,然后输入
CampaignPipeline
。 - 点击保存。
- 在右上角点击部署。
- 部署完成后,点击运行。
运行流水线可能需要几分钟时间。等待期间,您可以观察流水线转换的以下状态变化:“正在预配”>“正在启动”>“正在运行”>“正在取消预配”>“成功”。
查看结果
在 Google Cloud 控制台中,打开 BigQuery 页面:
点击创建 SQL 查询。
查询
customer_data_abbreviated_states
表:SELECT * FROM dis_user_guide.customer_data_abbreviated_states LIMIT 1000
您已成功创建数据流水线。
清理
为避免因本页中使用的资源导致您的 Google Cloud 账号产生费用,请按照以下步骤操作。
删除 BigQuery 数据集
要删除您在此数据集中创建的 BigQuery 数据集,请执行以下操作: 请执行以下操作:
- 在 Google Cloud 控制台中,转到 BigQuery 页面。
- 选择
dis_user_guide
数据集。 - 点击 delete 删除数据集。
删除 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。