arrow_back

Dataflow:Qwik Start - Python

加入 登录
Test and share your knowledge with our community!
done
Get access to over 700 hands-on labs, skill badges, and courses

Dataflow:Qwik Start - Python

Lab 30 分钟 universal_currency_alt 1 个积分 show_chart 入门级
Test and share your knowledge with our community!
done
Get access to over 700 hands-on labs, skill badges, and courses

GSP207

Google Cloud 自定进度实验

概览

在本实验中,您将设置自己的 Python 开发环境,获取 Python 版 Cloud Dataflow SDK,并使用 Cloud 控制台运行示例流水线。

设置和要求

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

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

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

为完成此实验,您需要:

  • 能够使用标准的互联网浏览器(建议使用 Chrome 浏览器)。
注意:请使用无痕模式或无痕浏览器窗口运行此实验。这可以避免您的个人账号与学生账号之间发生冲突,这种冲突可能导致您的个人账号产生额外费用。
  • 完成实验的时间 - 请注意,实验开始后无法暂停。
注意:如果您已有自己的个人 Google Cloud 账号或项目,请不要在此实验中使用,以避免您的账号产生额外的费用。

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

  1. 点击开始实验按钮。如果该实验需要付费,系统会打开一个弹出式窗口供您选择付款方式。左侧是实验详细信息面板,其中包含以下各项:

    • 打开 Google 控制台按钮
    • 剩余时间
    • 进行该实验时必须使用的临时凭据
    • 帮助您逐步完成本实验所需的其他信息(如果需要)
  2. 点击打开 Google 控制台。 该实验会启动资源并打开另一个标签页,显示登录页面。

    提示:请将这些标签页安排在不同的窗口中,并将它们并排显示。

    注意:如果您看见选择帐号对话框,请点击使用其他帐号
  3. 如有必要,请从实验详细信息面板复制用户名,然后将其粘贴到登录对话框中。点击下一步

  4. 请从实验详细信息面板复制密码,然后将其粘贴到欢迎对话框中。点击下一步

    重要提示:您必须使用左侧面板中的凭据。请勿使用您的 Google Cloud Skills Boost 凭据。 注意:在本次实验中使用您自己的 Google Cloud 帐号可能会产生额外费用。
  5. 继续在后续页面中点击以完成相应操作:

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

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

注意:您可以点击左上角的导航菜单来查看列有 Google Cloud 产品和服务的菜单。 “导航菜单”图标

激活 Cloud Shell

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

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

如果您连接成功,即表示您已通过身份验证,且当前项目会被设为您的 PROJECT_ID 环境变量所指的项目。输出内容中有一行说明了此会话的 PROJECT_ID

Your Cloud Platform project in this session is set to YOUR_PROJECT_ID

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

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

  2. 现在,输出的内容应如下所示:

输出:

ACTIVE: * ACCOUNT: student-01-xxxxxxxxxxxx@qwiklabs.net To set the active account, run: $ gcloud config set account `ACCOUNT`
  1. (可选)您可以通过此命令列出项目 ID:
gcloud config list project

输出

[core] project = <project_ID>

输出示例

[core] project = qwiklabs-gcp-44776a13dea667a6 Note: For full documentation of gcloud, in Google Cloud, refer to the gcloud CLI overview guide.

设置区域

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

确保 Dataflow API 已成功启用

为了确保能访问这个必要的 API,请重新启动与 Dataflow API 的连接。

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

  2. 点击管理

  3. 点击停用 API

如果系统要求您确认,请点击停用

  1. 点击启用

该 API 再次启用后,页面将显示停用选项。

任务 1. 创建 Cloud Storage 存储桶

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

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

验证您已完成的任务

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

创建 Cloud Storage 存储桶。

任务 2. 安装 pip 和 Cloud Dataflow SDK

  1. 最新的 Python 版 Cloud Dataflow SDK 要求 Python 版本不低于 3.7。

为确保使用正确的版本运行进程,请运行 Python3.9 Docker 映像:

docker run -it -e DEVSHELL_PROJECT_ID=$DEVSHELL_PROJECT_ID python:3.9 /bin/bash

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

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

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

  1. 运行以下命令,以在本地运行 wordcount.py 示例:
python -m apache_beam.examples.wordcount --output OUTPUT_FILE 注意:虽然您安装的是“google-cloud-dataflow”,但需要使用“Apache_beam”执行“wordcount”。原因是 Cloud Dataflow 是 [Apache Beam](https://github.com/Apache/beam) 的发行版。

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

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. 远程运行示例流水线

  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. 检查您的作业是否成功运行

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

您会发现,您的 wordcount 作业开始的状态正在运行

  1. 点击作业名称查看该进程。所有复选框都已勾选后,您可以在 Cloud Shell 中查看日志。

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

验证您已完成的任务

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

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

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

  3. 点击 results 文件夹,您应该会看到您的作业所创建的输出文件:

  4. 点击某一文件,查看其中包含的字数。

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

下面的选择题可加强您对此实验所涉概念的理解。请尽您所能回答。

恭喜!

完成挑战任务

本自学实验已纳入基准:数据、机器学习和 AI 挑战任务中。一项挑战任务就是一系列相关的实验,学习时按部就班地完成这些实验即可。完成挑战任务即可赢得一枚徽章,以表彰您取得的成就。您可以公开展示徽章,还可以在您的在线简历或社交媒体账号中加入指向徽章的链接。欢迎注册参加此挑战任务或任何包含此实验的挑战任务,完成后就能立即获得相应的积分。请参阅 Google Cloud Skills Boost 目录,查看提供的所有挑战任务。

后续步骤/了解详情

本实验是 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 技术方面的技能与专业知识。

上次更新手册的时间:2023 年 5 月 4 日

上次测试实验的时间:2023 年 5 月 4 日

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