访问 700 多个实验和课程

Dataflow:Qwik Start - Python

实验 30 分钟 universal_currency_alt 1 个点数 show_chart 入门级
info 此实验可能会提供 AI 工具来支持您学习。
访问 700 多个实验和课程

GSP207

Google Cloud 自学实验的徽标

概览

Apache Beam SDK 是一款用于数据流水线的开源编程模型。在 Google Cloud 中,您可以通过 Apache Beam 程序定义一条流水线,然后使用 Dataflow 来运行该流水线。

在本实验中,您将搭建用于 Dataflow 的 Python 开发环境(使用 Python 版 Apache Beam SDK),并运行 Dataflow 示例流水线。

您将完成的任务

在本实验中,您将学习如何:

  • 创建一个 Cloud Storage 存储桶,用于存储 Dataflow 流水线的运行结果
  • 安装 Python 版 Apache Beam SDK
  • 远程运行 Dataflow 流水线

设置和要求

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

请阅读以下说明。实验是计时的,并且您无法暂停实验。计时器在您点击开始实验后即开始计时,显示 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 概览指南

设置区域

  • 在 Cloud Shell 中,运行以下命令,设置本实验的项目区域:
gcloud config set compute/region {{{project_0.default_region | "REGION"}}}

确保 Dataflow API 已成功启用

为确保能够访问所需的 API,请重启与 Dataflow API 的连接。

  1. 通过运行以下命令,停用并重新启用“Dataflow API”。
gcloud services disable dataflow.googleapis.com gcloud services enable dataflow.googleapis.com

您可以检查 Dataflow API 是否已成功启用。

  1. 在 Cloud 控制台的顶部搜索栏中输入“Dataflow API”。点击 Dataflow API 的搜索结果。

当该 API 启用后,页面会显示停用选项。

任务 1. 创建一个 Cloud Storage 存储桶

当您使用 Dataflow 运行流水线时,运行结果会存储在 Cloud Storage 存储桶中。在本任务中,您将创建一个 Cloud Storage 存储桶,用于存储后续任务中运行的流水线运行结果。

  1. 导航菜单 (“导航菜单”图标) 中,依次点击 Cloud Storage > 存储桶
  2. 点击创建存储桶
  3. 创建存储桶对话框中,指定以下属性:
  • 名称:为确保存储桶名称唯一,请使用以下名称:-bucket。请注意,存储桶名称中不得包含敏感信息,因为存储桶的命名空间是全局的,且公开可见。
  • 位置类型:多区域
  • 位置us
  • 存储桶数据的存储位置。
  1. 点击创建

  2. 如果出现“系统将禁止公开访问”的提示,点击确认

检验已完成的任务

点击检查我的进度,验证您已完成的任务。如果您已成功完成该任务,系统会给出评分。

创建 Cloud Storage 存储桶。

任务 2. 安装 Python 版 Apache Beam SDK

  1. 为确保使用受支持的 Python 版本,请首先运行 Python3.9 Docker 映像:
docker run -it -e DEVSHELL_PROJECT_ID=$DEVSHELL_PROJECT_ID python:3.9 /bin/bash

此命令会拉取一个包含 Python 3.9 最新稳定版的 Docker 容器,然后打开一个命令 shell,供您在容器内运行后续命令。

  1. 容器运行之后,在虚拟环境中运行以下命令,安装最新版本的 Python 版 Apache Beam SDK:
pip install 'apache-beam[gcp]'==2.67.0

系统会返回一些与依赖项相关的警告。在本实验中,您可以忽略这些警告。

  1. 通过运行以下命令,在本地运行 wordcount.py 示例:
python -m apache_beam.examples.wordcount --output OUTPUT_FILE

您可能会看到如下类似消息:

INFO:root:Missing pipeline option (runner). Executing pipeline using the default runner: DirectRunner. INFO:oauth2client.client:Attempting refresh to obtain initial access_token

您可以忽略此消息。

  1. 现在您可以列出本地云环境中的文件,获取 OUTPUT_FILE 的文件名:
ls
  1. 复制 OUTPUT_FILE 的文件名,然后执行 cat 命令查看该文件:
cat <file name>

命令结果会显示文件中的每个字词,以及每个字词出现的次数。

任务 3. 远程运行 Dataflow 示例流水线

  1. 将 BUCKET 环境变量设为您之前创建的存储桶:
BUCKET=gs://<之前提供的存储桶名称>
  1. 现在您可以远程运行 wordcount.py 示例:
python -m apache_beam.examples.wordcount --project $DEVSHELL_PROJECT_ID \ --runner DataflowRunner \ --staging_location $BUCKET/staging \ --temp_location $BUCKET/temp \ --output $BUCKET/results/output \ --region {{{project_0.default_region | "filled in at lab start"}}}

重新运行该命令,直到作业开始并显示以下消息:

JOB_MESSAGE_DETAILED: Workers have started successfully.

然后继续完成实验。

任务 4. 检查您的 Dataflow 作业是否成功

  1. 打开导航菜单,点击所列服务中的 Dataflow

您会发现,您的 wordcount 作业最初的状态正在运行

  1. 点击作业名称,查看运行进程。当所有复选框都被勾选后,您可以在 Cloud Shell 中继续查看日志。

当状态显示为成功时,表示进程完成。

检验已完成的任务

点击检查我的进度,验证您已完成的任务。如果您成功完成该任务,系统会给出评分。

远程运行示例流水线。
  1. 在 Cloud 控制台中依次点击导航菜单 > Cloud Storage

  2. 点击您的存储桶的名称。在该存储桶中,您会看到 resultsstaging 两个目录。

  3. 点击 results 文件夹,您会看到您的作业生成的输出文件:

  4. 点击文件,即可查看其中包含的词频统计结果。

任务 5. 检验您的掌握情况

以下是一道选择题,用于加深您对本实验相关概念的理解。请尽您所能作答。

恭喜!

您了解了如何搭建用于 Dataflow 的 Python 开发环境(使用 Python 版 Apache Beam SDK),并运行 Dataflow 示例流水线。

后续步骤/了解详情

本实验是 Qwik Starts 系列实验的其中一项。这些实验旨在让您初步体验 Google Cloud 提供的众多功能。请在 Google Cloud Skills Boost 目录中搜索“Qwik Starts”,找到您要参与的下一项实验!

本实验根据Data Science on the Google Cloud Platform(《Google Cloud Platform 的数据科学》,O'Reilly Media, Inc 出版)的内容创建,点击链接获取此书。

Google Cloud 培训和认证

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

本手册的最后更新时间:2025 年 10 月 15 日

本实验的最后测试时间:2025 年 10 月 15 日

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

准备工作

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

使用无痕浏览模式

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

登录控制台

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

此内容目前不可用

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

太好了!

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

一次一个实验

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

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

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