Retrieve dataset files

检查我的进度

/ 50

Publish the results to BigQuery

检查我的进度

/ 50

此实验可能会提供 AI 工具来支持您学习。
此内容尚未针对移动设备进行优化。
为获得最佳体验,请在桌面设备上访问通过电子邮件发送的链接。

本实验由 Google 与我们的合作伙伴 Alteryx Designer Cloud (Trifacta) 共同开发。如果您在账号个人资料中选择接收通知,我们可能会与赞助商 Alteryx Designer Cloud (Trifacta) 共享您的数据。

GSP050

Google Cloud 自学实验

概览

Dataprep by Alteryx Designer Cloud (Trifacta) 是 Google 与 Alteryx 合作打造的自助式数据准备工具。在本实验中,您将学习如何使用 Cloud Dataprep 清理和丰富多个数据集。本实验练习基于模拟应用场景开展。

应用场景:

您在一家技术服务公司工作,该公司销售三款包月订阅产品:

  • 白银级(价格:$9.99/月)
  • 黄金级(价格:$14.99/月)
  • 白金级(价格:$29.99/月)

该公司会不定期推出促销折扣,因此部分产品售价可能略低于上述标价。您的总体目标是按邮政编码分析三年内的销售活动。

为此,请将包含邮政编码的客户联系人数据源与购买数据源中的销售数据进行联接。完成数据联接后,再聚合查询结果。

学习内容

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

  • 使用 Cloud Dataprep 清理和分析数据
  • 使用 Cloud Dataprep 合并多个数据集
  • 在 Cloud Dataprep 中计算公式结果

设置和要求

点击“开始实验”按钮前的注意事项

请阅读以下说明。实验是计时的,并且您无法暂停实验。计时器在您点击开始实验后即开始计时,显示 Google Cloud 资源可供您使用多长时间。

此实操实验可让您在真实的云环境中开展实验活动,免受模拟或演示环境的局限。为此,我们会向您提供新的临时凭据,您可以在该实验的规定时间内通过此凭据登录和访问 Google Cloud。

为完成此实验,您需要:

  • 能够使用标准的互联网浏览器(建议使用 Chrome 浏览器)。
注意:请使用无痕模式(推荐)或无痕浏览器窗口运行此实验。这可以避免您的个人账号与学生账号之间发生冲突,这种冲突可能导致您的个人账号产生额外费用。
  • 完成实验的时间 - 请注意,实验开始后无法暂停。
注意:请仅使用学生账号完成本实验。如果您使用其他 Google Cloud 账号,则可能会向该账号收取费用。

如何开始实验并登录 Google Cloud 控制台

  1. 点击开始实验按钮。如果该实验需要付费,系统会打开一个对话框供您选择支付方式。右侧是实验设置和访问权限面板,其中包含以下内容:

    • 打开 Google Cloud 控制台按钮
    • 您在本实验中必须使用的临时凭证(用户名和密码)
    • 帮助您逐步完成该实验所需的其他信息(如果需要)

    请注意,实验计时器位于页面顶部附近,将显示剩余时间。

  2. 点击打开 Google Cloud 控制台(如果您使用的是 Chrome 浏览器,请右键点击并选择在无痕式窗口中打开链接)。

    该实验会启动资源并打开另一个标签页,显示“登录”页面。

    提示:可以将这些标签页分别放在不同的窗口中,并排显示。

    注意:如果您看见选择账号对话框,请点击使用其他账号。
  3. 如有必要,请复制下方的用户名,然后将其粘贴到登录对话框中。

    {{{user_0.username | "<用户名>"}}}

    您也可以在实验设置和访问权限面板中找到“用户名”。

  4. 点击下一步。

  5. 复制下面的密码,然后将其粘贴到欢迎对话框中。

    {{{user_0.password | "<密码>"}}}

    您也可以在实验设置和访问权限面板中找到“密码”。

  6. 点击下一步。

    重要提示:您必须使用实验提供的凭证。请勿使用您的 Google Cloud 账号凭证。 注意:在本实验中使用您自己的 Google Cloud 账号可能会产生额外费用。
  7. 依次点击进入后续页面:

    • 接受条款及条件。
    • 由于这是临时账号,请勿添加账号恢复选项或双重身份验证。
    • 请勿注册免费试用。

片刻之后,系统会在此标签页中打开 Google Cloud 控制台。

注意:如需访问 Google Cloud 产品和服务,请点击导航菜单,或在搜索字段中输入服务或产品的名称。 “导航菜单”图标和“搜索”字段

激活 Cloud Shell

Cloud Shell 是一种装有开发者工具的虚拟机。它提供了一个永久性的 5GB 主目录,并且在 Google Cloud 上运行。Cloud Shell 提供可用于访问您的 Google Cloud 资源的命令行工具。

  1. 点击 Google Cloud 控制台顶部的激活 Cloud Shell “激活 Cloud Shell”图标。

  2. 在弹出的窗口中执行以下操作:

    • 继续完成 Cloud Shell 信息窗口中的设置。
    • 授权 Cloud Shell 使用您的凭据进行 Google Cloud API 调用。

如果您连接成功,即表示您已通过身份验证,且项目 ID 会被设为您的 Project_ID 。输出内容中有一行说明了此会话的 Project_ID:

Your Cloud Platform project in this session is set to {{{project_0.project_id | "PROJECT_ID"}}}

gcloud 是 Google Cloud 的命令行工具。它已预先安装在 Cloud Shell 上,且支持 Tab 自动补全功能。

  1. (可选)您可以通过此命令列出活跃账号名称:
gcloud auth list
  1. 点击授权。

输出:

ACTIVE: * ACCOUNT: {{{user_0.username | "ACCOUNT"}}} To set the active account, run: $ gcloud config set account `ACCOUNT`
  1. (可选)您可以通过此命令列出项目 ID:
gcloud config list project

输出:

[core] project = {{{project_0.project_id | "PROJECT_ID"}}} 注意:如需查看在 Google Cloud 中使用 gcloud 的完整文档,请参阅 gcloud CLI 概览指南。

任务 1. 打开 Google Cloud Dataprep

  1. 在 Cloud Shell 中,运行以下命令:
gcloud beta services identity create --service=dataprep.googleapis.com

您应该会看到指出已创建服务身份的消息。

  1. 在 Cloud 控制台中,找到导航菜单,点击查看所有产品,然后在分析下选择 Alteryx Designer Cloud。

  2. 确认您已同意 Google Dataprep 服务条款,然后点击接受。

  3. 点击相应复选框,当系统提示您将与 Alteryx 分享账号信息时,点击同意并继续。

  4. 点击允许以授予 Alteryx 对您项目的访问权限。

  5. 选择您的实验凭据进行登录,然后点击允许。

  6. 选中相应复选框,然后点击接受以同意 Alteryx 服务条款。

  7. 当系统提示您将使用存储桶的默认位置时,点击继续。

  8. 对于新用户,系统会启动一个教程,提示您选择数据集。点击取消或关闭页面即可退出该界面。

  9. 点击 Dataprep 徽标(三条横线),前往主屏幕。

任务 2. 检索数据集文件

在本部分中,您将把销售活动文件添加到 Dataprep 为您创建的存储桶中。

  1. 返回 Cloud 控制台。
注意:如果您已关闭 Cloud 控制台,可以点击 Google Cloud 图标将其打开。
  1. 获取存储桶名称。在导航菜单中,依次选择 Cloud Storage > 存储桶。

  2. 记下 Dataprep 存储桶名称,以便在下一步中使用。

  3. 在 Cloud Shell 命令行中,执行以下命令,并将 [YOUR-BUCKET-NAME] 替换为 Dataprep 存储桶名称:

gcloud storage cp -r gs://spls/gsp050 gs://[YOUR-BUCKET-NAME]

您应该会收到类似如下输出结果:

Copying gs://spls/gsp050/lab_customers.csv [Content-Type=text/csv]... \ [4 files][ 8.5 MiB/ 8.5 MiB] Operation completed over 4 objects/8.5 MiB.

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

任务 3. 创建流

返回 Cloud Dataprep 标签页。如需整理数据,您需要创建流。流是一组相关数据集及其关联关系的集合。

  1. 点击创建流:
  1. 将流命名为 Qwiklab1,将流说明留空,然后点击确定。

至此,您的流已创建完成。为方便操作,Dataprep 会在流中创建一些占位符,帮助您轻松上手。第一步是将数据导入并添加到 Dataprep 和流中。

  1. 点击“数据集”下的 + 以添加新的数据源,然后点击导入数据集链接。

  2. 在导航面板中,依次点击 Cloud Storage > dataprep-staging-xxx... > gsp050,以访问您在上一部分中存储的示例数据。

  3. 点击所列每个文件旁边的 +。点击文件后,该文件会移至所选列表。点击 Import & Add to Flow(导入并添加到流),将数据集添加到流中:

Cloud Dataprep 将跳转回流视图页面,该页面现在包含您添加的数据集。系统会创建 recipe 和输出的额外占位符。

包含已添加数据集的“流视图”页面

任务 4. 清理客户数据

现在您已经有了数据,下一步是设计数据准备 recipe 来清理客户数据集。在模板中,已使用 lab_2013_transactions.csv 数据添加一个 recipe。我们暂时跳过此 recipe,自行创建一个。

  1. 如需创建新 recipe,请执行以下操作:
  • 点击 lab_customers.csv 旁边的加号图标 (+)。
  • 然后点击 Add new Recipe(添加新 recipe)。

2 个数据集:lab_2015_transactions.csv 和 lab_customers.csv,其中 lab_customers.csv 的展开菜单处于显示状态

  1. 右键点击这个新的 recipe 节点。
  • 从下拉菜单中选择修改名称和说明。
  • 将名称更改为 lab_customers,然后点击确定。
  1. 系统会创建一个新的 recipe 节点并打开一个面板,其中显示了 recipe 相关信息,包括数据和任何现有的转换步骤。

  2. 点击蓝色 Edit Recipe(修改 recipe)按钮。(或者,您也可以双击 recipe 节点本身。)

Cloud Dataprep 会打开“Transformer 网格”。这是一个类似工作表的界面,您可以在其中设计数据准备 recipe 中的步骤。您可以在 Transformer 页面构建转换 recipe,并查看 recipe 在示例中的应用结果。如果您对结果感到满意,请针对您的数据集执行该作业。

每一列都有一个名称和一个图标,用于指定推断出的数据类型。点击列名称左侧的图标,即可查看可能的数据类型:

显示“更多类型”选项的 column_id 菜单

点击列选项时,系统会打开一个详细信息面板。

此“详细信息”面板为动态面板,包含有关所选内容的各种信息,包括列信息或建议的转换。点击“详细信息”面板标题中的 X,可暂时关闭该面板。

在下列步骤中,您将在网格视图中探索数据,并针对自己的 recipe 应用转换步骤。

打开 Transformer 网格时,Cloud Dataprep 会自动对数据集进行分析。它会生成列直方图和数据质量指标。此分析信息可用于指导数据准备过程。

应用过滤条件

  1. 找到 start_date 列。检查顶部列中的水平条:

开始日期列上方的三色水平条。颜色包括蓝色、红色和灰色。

注意:如果 `start_date` 列中未出现红色条,您可以继续操作。

这是数据质量条。绿色部分表示有效值,灰色部分表示缺失值或 null 值。红色条表示数据与数据类型不匹配。点击数据质量条的各个部分,将生成包含数据质量条件语句的建议。这些条件语句用于测试每条记录是有效、为空还是无效,具体取决于您点击的是数据质量条的哪个部分。

使用 start_date 和 end_date 作为过滤条件,您将添加一项转换操作,移除 start_date 列为空的联系人。

  1. 点击 start_date 列对应数据质量条的灰色部分。

Cloud Dataprep 会根据您的选择,在建议列表中生成一系列建议的转换操作。您可以将鼠标悬停在任意建议卡片上,Dataprep 就会显示应用该建议后数据的预览效果。选择一张卡片后,Cloud Dataprep 会更新网格,向您显示此转换的预览。

  1. 在建议列表中找到“删除 start_date 中有缺失值的行”建议卡片,点击添加。

原先以红色突出显示的行已从数据集中移除。

填充缺失值

查看 end_date 列。从数据质量条可以看出,存在大量包含缺失值的行。为便于处理此列,您将在这些空行中插入一个空值:2050 年 1 月 1 日。

  1. 点击 end_date 列对应数据质量条的灰色部分。

这将生成另一组建议的转换操作。其中会有一条建议:Set missing values to NULL()(将缺失值设置为 NULL())。在本例中,Dataprep 无法确定您希望填充的具体数值,因此会创建一个可供修改的模板。

  1. 然后在任意建议卡片上点击修改。

系统随即会打开添加步骤构建器。Cloud Dataprep 建议的转换已填充完毕,但您可以对代码进行调整。

  1. 在公式框中,将 NULL() 替换为 '2050/1/1'(带引号)。完整公式应如下所示:
IFMISSING($col, '2050/01/01')

“使用公式修改”框,其中“公式”文本框中显示了完整公式

  1. 点击添加。

现在,lab_customers 数据集中的数据质量问题已得到解决,数据质量条的灰色部分已消失。

任务 5. 联合多个交易数据集

接下来开始处理交易数据集。

  • 点击屏幕顶部的流名称 QWIKLAB1:

突出显示了 Qwiklab1 的流标题

页面将跳转回流视图。

创建一个数据集,其中联合 2013 年、2014 年和 2015 年的交易数据集。

  1. 点击 lab_2013_transactions 数据集。

  2. 点击加号 (+),然后点击 Add new Recipe(添加新 recipe)。

Cloud Dataprep 会创建一个新 recipe 及经过整理的数据集,默认名称为 Untitled recipe。

  1. 右键点击这个经过整理的新数据集。从下拉菜单中选择修改名称和说明。

  2. 将名称更改为 Combined Transactions,然后点击确定。

流视图包含 2 个数据集:lab_2013_transactions.csv 和 lab_2014_transactions.csv,以及新 recipe“Combined Transactions”

  1. 双击 Combined Transactions 以修改 recipe。此操作会在 Transformer 网格中打开该 recipe。请注意,网格中的数据是来自 lab_2013_transactions.csv 数据集的结构化数据。

使用 Union 转换合并具有相同架构的多个数据集。

  1. 在进行任何转换之前,先查看网格状态栏。此处可以查看元数据展示信息:

元数据展示信息显示 5 列、26,476 行和 3 种数据类型

元数据简要汇总了网格中已加载的数据。请注意,当前加载的数据是整个数据集的样本,大小上限为 10 MB。

  1. 查看 Transformer 标头(recipe 名称旁)。此处可查看当前加载的样本数据信息。
注意:根据版本不同,界面展示形式可能会有所不同。

显示初始数据的 recipe 名称部分可见

或

显示完整数据的 recipe 名称部分可见

显示的样本是来自数据源的初始数据。对于小型数据集(小于 10 MB),Dataprep 会将整个数据集加载到初始数据样本中。

  1. 点击面板中的 recipe 图标。

recipe 图标

  1. 点击 Add New Step(添加新步骤)。

  2. 在搜索字段中输入“Union”,然后点击搜索结果,即可找到“联合”工具。

“联合输出”字段显示数据集的输出架构。每个框代表一列。Cloud Dataprep 会根据您启动联合转换的数据集的架构来确定输出架构。在本例中,“Combined Transactions”数据集中的列决定了合并输出中将显示的列。

  1. 点击添加数据。

  2. 检查 lab_2014_transactions。在对齐设置的下拉菜单中,选择 Align By Name(按名称对齐),然后点击应用。

  3. 点击 Add to Recipe(添加到 recipe),以合并数据集。将联合添加到脚本后,查看 transaction_date 列。

此数据集现已包含 2013 年 1 月至 2014 年 12 月的记录。

  1. 您现在已完成 3 个数据集中 2 个的联合操作。检查元数据,您应该还会看到新增的行。

元数据展示信息显示 5 列、68,597 行和 3 种数据类型

任务 6. 修改 recipe 步骤

在处理数据的过程中,您可能会经常需要调整或移除某些转换。Dataprep 让修改工作变得非常简单。在本例中,您已联合了 3 个数据集中的 2 个,但无需添加一个全新步骤来联合剩余数据集,只需修改已完成的操作即可。

  1. 点击撤销图标,回退上一步操作,在本例中是“联合”步骤。

请注意,您的 recipe 现在为空。网格和元数据也会同步更新,以反映原始状态。

  1. 点击重做图标,恢复“联合”步骤。

  2. 在 recipe 面板中,右键点击“联合”步骤,然后选择修改。

  3. 这将再次打开“联合”工具。本次再次点击添加数据,然后选中 lab_2015_transactions。在对齐设置的下拉菜单中,选择 Align By Name(按名称对齐),然后点击应用。

  4. 查看列到列的映射。点击 Add to Recipe(添加到 recipe),以合并 3 个数据集。

  5. 将联合添加到脚本后,查看 transaction_date 列。

此数据集现已包含 2013 年 1 月至 2015 年 12 月的记录。元数据中现在显示了多少行?

  1. 点击 QWIKLAB1 流名称,返回到流视图。

流可视化图表已更新,显示 3 个交易数据集如何合并形成 Combined Transactions 数据集:

“Combined Transactions”recipe 针对 3 个数据集的流视图

任务 7. 将交易数据与客户数据联接起来

现在数据集已完成合并,接下来丰富交易数据。添加有关每次购买交易发生地点的信息。为此,请将客户数据与交易数据联接起来。执行联接时,将较大的数据集视为主数据集(左侧)。较小的数据集应为详细信息数据集(右侧)。在 Cloud Dataprep 中,您发起联接所基于的数据集会自动成为主数据集。

  1. 双击 Combined Transactions 以再次修改 recipe。

  2. 点击 Transformer 工具栏中的联接图标,打开“联接”工具。

“联接”图标

注意:您也可以沿用之前的方式启用“联接”工具,即使用 recipe 面板和新增步骤,然后搜索“Join”。在 Dataprep 中创建转换操作有多种方式。
  1. 点击 lab_customers 数据集以引入其他数据集,然后点击接受。

  2. 在下一个界面中,修改联接键和条件。验证联接键是否匹配以及联接的配置选项。Dataprep 会尝试根据数据集之间的共同值自动推断正确的联接键。

您也可以选择修改联接键。将光标悬停在“联接键”部分,然后点击铅笔图标(“修改”图标)以修改联接键,或点击添加以添加其他联接键。

对于这些数据集,Cloud Dataprep 选择发对 customer_id 列执行内联接。这意味着输出数据集将是具有相同 customer_id 的记录。

  1. 点击下一步。

  2. 在下一个界面中,您可以选择在联接后保留或删除哪些列。在输出列面板中,勾选以下字段旁边的复选框,将这些列添加到联接中:

    • customer_id (current)
    • transaction_date
    • ticket_price
    • product
    • address_state
    • address_zip
    • region
    • start_date
    • end_date

所有未勾选的列都将被删除。结果将如下所示:

“输出列”面板,显示了各种已勾选和未勾选的列标题

  1. 点击查看,在 Transformer 网格中预览联接的结果。
  2. 点击 Add to Recipe(添加到 recipe)。

任务 8. 创建新列并重命名

在最后一步中,您需要对报告数据进行一些额外的清理。您需要创建一些包含必要值的列,以便按这些值直观呈现。

我们来看看在 Dataprep 中编写转换的另一种方式 - 通过列菜单。

  1. 点击 transaction_date 旁边的下拉箭头 > 提取 > 日期时间 > 年份 (YYYY)。

系统会打开一个新的公式构建器,其中预先填充了所选操作。网格中还会生成预览。

  1. 点击添加。

请注意,系统创建了一个名为 year_transaction_date 的新列。在上一步中,您可以在修改转换时为新列命名。如果未指定名称,Dataprep 会根据转换生成默认名称。如果未选择任何源列,则会使用 column#。

  1. 您将手动重命名此列。点击 year_transaction_date 旁边的下拉箭头 > 重命名。

  2. 在字段中输入 activity_year。点击添加接受更改。

请注意,您可以点击添加新增更多映射,从而借助此转换重命名多个列。

任务 9. 将结果发布到 BigQuery

您刚刚完成了数据准备工作,现在可以在 Cloud Storage 中生成结果文件。Cloud Dataprep 使用 BigQuery 引擎执行数据转换 recipe,以生成输出文件。

  1. 点击 Transformer 标头中的运行。

  2. 在运行作业对话框中,您可以配置作业执行设置和输出目标。默认情况下,Cloud Dataprep 会在 Cloud Storage 中创建一个 CSV 文件。

  3. 将鼠标悬停在现有的发布操作上,然后点击选项列表中的修改。

  4. 点击面板中的 BigQuery 标签页。

  5. 选择 Dataprep 数据库,然后点击面板中的创建新表按钮。

  6. 输入 transactions_by_customer 作为新表名称,然后选择 Append to this table every run(每次运行都附加到此表)作为写入选项。

  7. 在对话框中点击更新,以更新输出设置。

  8. 现在点击运行,启动 BigQuery 作业。这需要几分钟才能完成。您可以在 Dataprep 的“作业”页面上查看作业处理情况。完成后,您会看到类似下面的成功提示,并且您的数据将加载到新的 BigQuery 表中。

“流作业”页面上“Combined Transactions”recipe 的状态显示为“已完成”

  1. 将鼠标悬停在已完成的作业上,然后点击分析,查看整理后的数据。您将看到如下内容:

“分析”标签页,显示“所有数据”和“按列分析结果”部分

  1. 您可以通过直接查询 BigQuery 来查看结果。在 Google Cloud 控制台中,依次前往分析 > BigQuery。点击 Dataprep 数据集。

  2. 在查询编辑器中输入 select * from Dataprep.transactions_by_customer;。点击运行,查看发布的数据。

Cloud Dataprep 操作就是如此简便!使用直观的可视化界面,可以轻松清理和丰富多个数据源。

点击“检查我的进度”以验证是否完成了以下目标: 将结果发布到 BigQuery

恭喜!

在本实验中,您首先创建了新流并转换了数据。然后,您学习了如何使用 Dataprep 界面过滤杂乱数据、联合和联接多个文件,以及创建和重命名列。最后,您生成了一个结果文件并将其导出到 Google Cloud Storage。

后续步骤/了解详情

  • 阅读方法指南,了解如何使用 Google Dataprep 发现、清理和增强数据。

Google Cloud 培训和认证

…可帮助您充分利用 Google Cloud 技术。我们的课程会讲解各项技能与最佳实践,可帮助您迅速上手使用并继续学习更深入的知识。我们提供从基础到高级的全方位培训,并有点播、直播和虚拟三种方式选择,让您可以按照自己的日程安排学习时间。各项认证可以帮助您核实并证明您在 Google Cloud 技术方面的技能与专业知识。

本手册的最后更新时间:2026 年 5 月 20 日

本实验的最后测试时间:2025 年 5 月 19 日

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

准备工作

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

使用无痕浏览模式

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

登录控制台

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

此内容目前不可用

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

太好了!

一旦可用,我们会通过邮件联系您

一次一个实验

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

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

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