实验设置说明和要求
保护您的账号和进度。请务必在无痕浏览器窗口中,使用实验凭证运行此实验。

在 Cloud Data Fusion 中使用 Wrangler 构建转换和准备数据

实验 1 小时 30 分钟 universal_currency_alt 5 个点数 show_chart 入门级
info 此实验可能会提供 AI 工具来支持您学习。
此内容尚未针对移动设备进行优化。
为获得最佳体验,请在桌面设备上访问通过电子邮件发送的链接。

概览

数据集成的核心在于数据。在处理数据时,如果能直观地查看原始数据的样貌会非常方便,这能为您后续的转换工作提供基础。借助 Wrangler,您可以采用数据优先的方法来处理数据集成工作流。

对于 ETL(提取、转换、加载)应用,最常见的数据来源通常是以逗号分隔值 (CSV) 格式存储在文本文件中的数据,因为许多数据库系统都以这种方式导出和导入数据。在本实验中,您将使用 CSV 文件,但同样的技术也适用于数据库源以及 Cloud Data Fusion 中提供的任何其他数据源。

目标

在本实验中,您将学习如何执行以下任务:

  • 创建流水线,从 CSV 文件注入数据。
  • 使用 Wrangler 通过点击式界面和 CLI 界面应用转换。

在本实验的大部分时间里,您将使用由 Wrangler 插件调用的“Wrangler 转换步骤”,以便将所有转换操作封装在一个地方,并将转换任务分组为易于管理的模块。这种数据为先的方法可让您快速直观地了解转换情况。

设置

对于每个实验,您都会免费获得一个新的 Google Cloud 项目及一组资源,它们都有固定的使用时限。

  1. 使用无痕式窗口登录 Google Skills。

  2. 留意实验的访问时限(例如 02:00:00)并确保能在此时限内完成实验。
    系统不提供暂停功能。如有需要,您可以重新开始实验,不过必须从头开始。

  3. 准备就绪时,点击开始实验

    注意:点击开始实验后,系统需要 15 到 20 分钟的时间为实验预配必要的资源,并创建一个 Data Fusion 实例。 在此期间,您可以通读下方的步骤,以熟悉实验目标。

    在左侧面板中看到实验凭据(用户名密码)后,实例即已创建,您可继续登录控制台。
  4. 请记好您的实验凭据(用户名密码)。您需要使用这组凭据来登录 Google Cloud 控制台。

  5. 点击打开 Google 控制台

  6. 点击使用其他账号,然后将实验的凭据复制并粘贴到相应提示框中。
    如果您使用其他凭据,将会收到错误消息或产生费用

  7. 接受条款并跳过恢复资源页面。

注意:除非您完成了此实验或想要重新开始,否则请勿点击结束实验。点击此按钮会清除您的实验成果并移除此项目。

登录到 Google Cloud 控制台

  1. 使用您在本次实验课程中使用的浏览器标签页或窗口,从连接详情面板中复制用户名,然后点击打开 Google 控制台按钮。
注意:如果您看到选择账号的提示,请点击使用其他账号
  1. 将其粘贴在用户名中,然后按照提示粘贴密码
  2. 点击下一步
  3. 接受条款及条件。

由于这是一个临时账号,仅在本次实验期间有效:

  • 请勿添加恢复选项
  • 请勿用其注册免费试用服务
  1. 控制台打开后,点击左上角的导航菜单 (“导航菜单”图标) 即可查看服务列表。

导航菜单

激活 Cloud Shell

Cloud Shell 是一种包含开发工具的虚拟机。它提供了一个 5 GB 的永久性主目录,并且在 Google Cloud 上运行。Cloud Shell 可让您通过命令行访问 Google Cloud 资源。gcloud 是 Google Cloud 的命令行工具。它会预先安装在 Cloud Shell 上,且支持 Tab 键自动补全功能。

  1. 在 Google Cloud Console 的导航窗格中,点击激活 Cloud Shell (Cloud Shell 图标)。

  2. 点击继续
    预配和连接到环境需要一些时间。若连接成功,也就表明您已通过身份验证,且相关项目的 ID 会被设为您的 PROJECT_ID。例如:

Cloud Shell 终端

命令示例

  • 列出有效的帐号名称:

gcloud auth list

(输出)

Credentialed accounts: - <myaccount>@<mydomain>.com (active)

(输出示例)

Credentialed accounts: - google1623327_student@qwiklabs.net
  • 列出项目 ID:

gcloud config list project

(输出)

[core] project = <project_ID>

(输出示例)

[core] project = qwiklabs-gcp-44776a13dea667a6

检查项目权限

在开始在 Google Cloud 中工作之前,您必须确保您的项目在 Identity and Access Management (IAM) 中拥有正确的权限。

  1. 在 Google Cloud 控制台的导航菜单 (“导航菜单”图标) 中,点击 IAM 和管理 > IAM

  2. 确认默认计算服务账号 {project-number}-compute@developer.gserviceaccount.com 已存在且被授予了 editor 角色。账号前缀是项目编号,您可以在导航菜单 > Cloud 概览中找到此编号。

默认计算服务账号

如果该账号在 IAM 中不存在或不具有 editor 角色,请按照以下步骤向其分配所需的角色。

  1. 在 Google Cloud 控制台的导航菜单中,点击 Cloud 概览

  2. 项目信息卡片中复制项目编号

  3. 导航菜单中,点击 IAM 和管理 > IAM

  4. IAM 页面顶部,点击添加

  5. 新的主账号字段中,输入:

{project-number}-compute@developer.gserviceaccount.com

{project-number} 替换为您的项目编号。

  1. 选择角色部分,依次选择基本(或“项目”)> Editor

  2. 点击保存

任务 1. 为 Cloud Data Fusion 实例添加必要的权限

  1. 在 Google Cloud 控制台标题栏的搜索字段中,输入 Data Fusion,点击搜索,然后点击 Data Fusion

  2. 点击 Data Fusion 旁边的图钉图标。

注意:创建实例大约需要 15-20 分钟。请等待其准备就绪。

接下来,您将按照以下步骤向与实例关联的服务账号授予权限。

  1. 在 Google Cloud 控制台中,找到 IAM 和管理 > IAM

  2. 确认 Compute Engine 默认服务账号 {project-number}-compute@developer.gserviceaccount.com 已存在,并将服务账号复制到剪贴板中。

  3. 在“IAM 权限”页面上,点击 +授予访问权限

  4. 在“新的主账号”字段中,粘贴刚刚复制的服务账号。

  5. 点击进入选择角色字段,输入“Cloud Data Fusion API Service Agent”,然后选择该角色。

  6. 点击添加其他角色

  7. 添加 Dataproc Administrator 角色。

  8. 点击保存

点击“检查我的进度”以验证是否完成了以下目标: 为服务账号添加 Cloud Data Fusion API Service Agent 角色

授予服务账号用户权限

  1. 在控制台中,点击导航菜单下的 IAM 和管理 > IAM

  2. 选中包括 Google 提供的角色授权复选框。

  3. 在列表中向下滚动,找到由 Google 管理的 Cloud Data Fusion 服务账号(其形式类似于 service-{项目编号}@gcp-sa-datafusion.iam.gserviceaccount.com),随后将该服务账号名称复制到剪贴板。

Google 管理的 Cloud Data Fusion 服务账号列表

  1. 然后前往 IAM 和管理 > 服务账号

  2. 点击默认 Compute Engine 账号(其形式类似于 {项目编号}-compute@developer.gserviceaccount.com),然后选择顶部导航栏中的具有访问权限的主账号标签页。

  3. 点击授予访问权限按钮。

  4. 将您先前复制的服务账号粘贴到新的主账号字段中。

  5. 角色下拉菜单中,选择 Service Account User

  6. 点击保存

任务 2. 加载数据

接下来,您将在项目中创建一个 Cloud Storage 存储桶,以便加载一些用于整理的示例数据。Cloud Data Fusion 稍后将从该存储桶中读取数据

  1. 在 Cloud Shell 中,执行以下命令以创建新存储桶:
export BUCKET=$GOOGLE_CLOUD_PROJECT gcloud storage buckets create gs://$BUCKET

您的项目 ID 即为新建存储桶的名称。

  1. 运行以下命令,将数据文件(CSV 文件)复制到您的存储桶中:
gcloud storage cp gs://cloud-training/OCBL163/titanic.csv gs://$BUCKET

点击“检查我的进度”以验证是否完成了以下目标: 加载数据

现在,您可以继续进行下一步了。

任务 3. 浏览 Cloud Data Fusion 界面

在 Cloud Data Fusion 界面中,您可以通过各种页面(例如 Pipeline StudioWrangler)来使用 Cloud Data Fusion 功能。

若要浏览 Cloud Data Fusion 界面,请按以下步骤操作:

  1. 在控制台中,回到导航菜单 > Data Fusion
  2. 然后点击 Data Fusion 实例旁边的查看实例链接。
  3. 选择您的实验凭证进行登录。
注意:如果您看到 500 出错提示,请关闭所有标签页,然后重试第 2 步和第 3 步。

Cloud Data Fusion 网页界面自带导航面板(位于左侧),可用于进入所需页面。

  1. 在 Cloud Data Fusion 界面中,点击左侧的导航菜单以显示导航面板。
  2. 然后选择 Wrangler

任务 4. 使用 Wrangler

Wrangler 是一款交互式直观显示工具。借助此工具,您可以先查看小型数据子集的转换效果,然后再针对整个数据集调度并行处理的大型作业。

  1. Wrangler 加载后,左侧会显示一个面板,其中有预先配置的数据连接,包括 Cloud Storage 连接。

  2. GCS 中,选择 Cloud Storage Default(Cloud Storage 默认存储桶)。

  3. 点击与您的项目 ID 对应的存储桶。

  4. 点击 titanic.csv

  5. 在解析选项中,从下拉菜单中选择文本格式。

parseoption.png

  1. 点击确认。数据会加载到 Wrangler 中。

ParseCSV4.png

  1. 第一项操作是将原始 CSV 数据解析成划分为行和列的表格形式。为此,您需要从第一列标题中选择下拉图标,然后选择解析菜单项,并从子菜单中选择 CSV

展开的下拉菜单

  1. 在原始数据中,我们可以看到第一行由列标题组成,因此您需要在显示的解析为 CSV 对话框中选择将第一行设置为标题选项,然后点击应用

  2. 至此,原始数据已解析完毕,您可以在 body 列的右侧看到此操作生成的列。

  3. 您不再需要 body 列,因此请点击 body 列标题旁的下拉图标,并点击删除列菜单项将其删除。

注意:您也可以使用命令行界面 (CLI) 来应用转换。CLI 是屏幕底部的黑条(带有绿色 $ 提示)。当您开始输入命令时,自动填充功能将被激活并为您呈现匹配选项。例如,若要删除 body 列,您也可以使用 drop :body 这一指令。

drop 指令

  1. 点击 Wrangler 界面最右侧的转换步骤标签页。您将看到目前已应用的两个转换。
注意: 菜单选项和 CLI 创建指令都会显示在屏幕右侧的转换步骤标签页中。指令是单个转换操作,它们统称为 recipe。

在本实验的后面部分,您将使用 CLI 添加更多转换步骤。

在对数据集应用转换步骤时,这些转换会影响抽样数据,并提供可通过 Insights 浏览器探索的视觉提示。

  1. 点击顶部中间区域的 Insights 标签页,查看数据在各个列中的分布情况。

Insights 标签页

  1. 探索界面,发现分析数据的新方法。将 Age 字段拖放到 x 编码中,看看数据视角会发生怎样的变化。

Insights 标签页

  1. 您可以点击创建流水线按钮,切换到流水线开发模式。在该模式下,您可以查看您在 Wrangler 插件中创建的指令。

createpipline15.png

  1. 在随后出现的对话框中,选择 Batch pipeline(批量流水线)以继续。

batch16.png

  1. Pipeline Studio 打开后,将光标指向 Wrangler 节点并点击属性

  2. 按照指令查看您之前添加的指令 recipe。在下一部分中,您将使用 CLI 添加更多转换步骤。

 指令部分

任务 5. 使用转换步骤

在本部分中,您将继续在 Wrangler 界面中操作,探索 CSV 数据集并通过 CLI 应用转换。

  1. 在 Wrangler 节点“属性”框的指令部分下,点击 Wrangle 按钮。系统会返回 Wrangler 界面。

  2. 点击 Wrangler 界面最右侧的转换步骤,以显示指令。验证您目前是否有两个转换步骤。

接下来,您将使用 CLI 添加更多转换步骤,并了解这些步骤如何修改数据。CLI 是屏幕底部的黑条(带有绿色 $ 提示)。

  1. 复制指令并将其粘贴到 CLI 的 $ 提示符处。您会看到屏幕右侧的转换步骤得到更新。
fill-null-or-empty :Cabin 'none' send-to-error empty(Age) parse-as-csv :Name ',' false drop Name fill-null-or-empty :Name_2 'none' rename Name_1 Last_Name rename Name_2 First_Name set-type :PassengerId integer parse-as-csv :First_Name '.' false drop First_Name drop First_Name_3 rename First_Name_1 Salutation fill-null-or-empty :First_Name_2 'none' rename First_Name_2 First_Name send-to-error !dq:isNumber(Age) || !dq:isInteger(Age) || (Age == 0 || Age > 125) set-type :Age integer set-type :Fare double set-column Today_Fare (Fare * 23.4058)+1 generate-uuid id mask-shuffle First_Name

下面说明了这些指令对数据的作用。切勿在 CLI 中再次输入这些指令,因为您刚刚已经输入过了。

a. fill-null-or-empty :Cabin 'none' 会修复 Cabin 列,使其 100% 完整

b. send-to-error empty(Age) 会修复 Age 列,确保没有空单元格

c. parse-as-csv :Name ',' false 会将 Name 列拆分为两个单独的列,分别包含名字和姓氏

d. rename Name_1 Last_Namerename Name_2 First_Name 会将新创建的列 Name_1Name_2 重命名为 Last_NameFirst_Name

e. drop Name 会移除不再需要的 Name

f. set-type :PassengerId integer 会将 PassengerId 列转换为整数

g. 这些指令会从 First_Name 列中提取称谓,删除冗余列,并相应地重命名新建的列:

parse-as-csv :First_Name '.' false drop First_Name drop First_Name_3 rename First_Name_1 Salutation fill-null-or-empty :First_Name_2 'none' rename First_Name_2 First_Name

h. send-to-error !dq:isNumber(Age) || !dq:isInteger(Age) || (Age == 0 || Age > 125) 指令会对 Age 列执行数据质量检查,而 set-type :Age integer 指令则会将其设置为整数列

i. set-type :Fare double 会将 Fare 列转换为双精度浮点数,以便对列值执行一些算术运算

j. set-column Today_Fare (Fare * 23.4058)+1 会将 Fare 列乘以自 1912 年以来的美元通货膨胀率,以获得调整后的美元价值

k. generate-uuid id 会创建一个身份列,用于唯一标识每条记录

l. mask-shuffle First_Name 会遮盖 Last_Name 列,以对用户(即个人身份信息)进行去标识化

  1. 点击转换步骤右上方的更多链接,然后点击查看架构,检查转换生成的架构,并点击下载图标将其下载到您的计算机。

    转换生成的架构列表

  2. 点击 X 关闭“架构”页面。

  3. 您可以点击转换步骤下方的下载图标,将指令 recipe 下载到您的计算机,以保留转换步骤副本供日后使用。

    “转型步骤”页面上突出显示的“下载”图标

  4. 点击右上角的应用按钮,确保所有新输入的转换步骤都添加到 Wrangler 节点的配置中。然后,系统会跳转至 Wrangler 节点的属性框。

  5. 点击 X 将其关闭。您将返回 Pipeline Studio

任务 6. 将数据注入 BigQuery

创建一个数据集,以便将数据注入 BigQuery。

  1. 在新标签页中,打开 Google Cloud 控制台中的 BigQuery,或右键点击 Google Cloud 控制台标签页并选择复制,然后使用导航菜单选择 BigQuery。如果出现提示,请点击完成

  2. 在“探索器”窗格中,点击项目 ID(以 qwiklabs 开头)旁边的查看操作图标,然后选择创建数据集

    探索器窗格,其中突出显示了“查看操作”图标和“创建数据集”选项

a. 数据集 ID:demo_cdf

b. 点击创建数据集。记下该名称,以便稍后在本实验中使用。

  1. 返回 Cloud Data Fusion 界面标签页

a. 要将 BigQuery 接收器添加到流水线,请前往左侧面板上的接收器部分,然后点击 BigQuery 图标,将其放置在画布上。

b. 将 BigQuery 接收器放置在画布上后,再将 Wrangler 节点与 BigQuery 节点连接起来。具体做法是:按照图示,将箭头从 Wrangler 节点拖至 BigQuery 节点进行连接。

画布上的 GCSFile、Wrangler 和 BigQuery 节点

c. 将鼠标悬停在 BigQuery 节点上,点击属性,然后输入以下配置设置:

字段
参考名称 DemoSink
数据集项目 ID 您的项目 ID
数据集 demo_cdf(您在上一步中创建的数据集)
输入适当的名称(例如 titanic

系统会自动创建该表。

d. 点击验证按钮,检查所有设置是否正确。

e. 点击 X 将其关闭。您将返回到 Pipeline Studio。

  1. 现在,您可以执行流水线了。

a. 为流水线命名(例如 DemoBQ

b. 点击保存,然后点击右上角的部署以部署流水线。

c. 点击运行以开始执行流水线。您可以点击摘要图标查看一些统计信息。

注意:如果流水线出现故障,请重新运行

执行完成后,状态会变为成功。返回 BigQuery 控制台,查询运行结果。

状态:成功

点击“检查我的进度”以验证是否完成了以下目标: 将数据注入 BigQuery

恭喜!

在本实验中,您探索了 Wrangler 界面。您了解了如何通过菜单以及使用 CLI 添加转换步骤(指令)。借助 Wrangler,您能够以迭代方式对数据应用许多强大的转换,您也可以通过 Wrangler 界面查看这些转换在部署和运行流水线之前如何影响数据架构。

结束实验

完成实验后,请点击结束实验。Google Skills 会移除您使用过的资源并为您清理账号。

系统会提示您为实验体验评分。请选择相应的评分星级,输入评论,然后点击提交

星级的含义如下:

  • 1 颗星 = 非常不满意
  • 2 颗星 = 不满意
  • 3 颗星 = 一般
  • 4 颗星 = 满意
  • 5 颗星 = 非常满意

如果您不想提供反馈,可以关闭该对话框。

如果要留言反馈、提出建议或做出更正,请使用支持标签页。

版权所有 2026 Google LLC 保留所有权利。Google 和 Google 徽标是 Google LLC 的商标。其他所有公司名称和产品名称可能是其各自相关公司的商标。

准备工作

  1. 实验会创建一个 Google Cloud 项目和一些资源,供您使用限定的一段时间
  2. 实验有时间限制,并且没有暂停功能。如果您中途结束实验,则必须重新开始。
  3. 在屏幕左上角,点击开始实验即可开始

使用无痕浏览模式

  1. 复制系统为实验提供的用户名密码
  2. 在无痕浏览模式下,点击打开控制台

登录控制台

  1. 使用您的实验凭证登录。使用其他凭证可能会导致错误或产生费用。
  2. 接受条款,并跳过恢复资源页面
  3. 除非您已完成此实验或想要重新开始,否则请勿点击结束实验,因为点击后系统会清除您的工作并移除该项目

此内容目前不可用

一旦可用,我们会通过电子邮件告知您

太好了!

一旦可用,我们会通过电子邮件告知您

一次一个实验

确认结束所有现有实验并开始此实验

使用无痕浏览模式运行实验

使用无痕模式或无痕浏览器窗口是运行此实验的最佳方式。这可以避免您的个人账号与学生账号之间发生冲突,这种冲突可能导致您的个人账号产生额外费用。