准备工作
- 实验会创建一个 Google Cloud 项目和一些资源,供您使用限定的一段时间
- 实验有时间限制,并且没有暂停功能。如果您中途结束实验,则必须重新开始。
- 在屏幕左上角,点击开始实验即可开始
Create a development machine in Compute Engine
/ 5
Install Software in the development machine
/ 5
Create a GCS bucket
/ 5
Download some sample images into your bucket
/ 5
Create a Cloud Managed Apache Spark cluster
/ 5
Submit a job to the Cloud Managed Apache Spark Cluster
/ 5
Create a development machine in Compute Engine
/ 5
Install Software in the development machine
/ 5
Create a GCS bucket
/ 5
Download some sample images into your bucket
/ 5
Create a Cloud Managed Apache Spark cluster
/ 5
Submit a job to the Cloud Managed Apache Spark Cluster
/ 5
在本实操实验中,您将学习如何使用托管式 Apache Spark 将计算密集型图片处理任务分配到机器集群。本实验是科学数据处理系列实验的一部分。
本实验是高级实验。建议您先熟悉托管式 Apache Spark 和 Apache Spark,但不作强制要求。如果您想快速上手这些服务,请务必查看以下实验:
准备就绪后,请向下滚动页面,详细了解您将在本实验中使用的服务。
请阅读以下说明。实验是计时的,并且您无法暂停实验。计时器在您点击开始实验后即开始计时,显示 Google Cloud 资源可供您使用多长时间。
此实操实验可让您在真实的云环境中开展实验活动,免受模拟或演示环境的局限。为此,我们会向您提供新的临时凭据,您可以在该实验的规定时间内通过此凭据登录和访问 Google Cloud。
为完成此实验,您需要:
点击开始实验按钮。如果该实验需要付费,系统会打开一个对话框供您选择支付方式。右侧是实验设置和访问权限面板,其中包含以下内容:
请注意,实验计时器位于页面顶部附近,将显示剩余时间。
点击打开 Google Cloud 控制台(如果您使用的是 Chrome 浏览器,请右键点击并选择在无痕式窗口中打开链接)。
该实验会启动资源并打开另一个标签页,显示“登录”页面。
提示:可以将这些标签页分别放在不同的窗口中,并排显示。
如有必要,请复制下方的用户名,然后将其粘贴到登录对话框中。
您也可以在实验设置和访问权限面板中找到“用户名”。
点击下一步。
复制下面的密码,然后将其粘贴到欢迎对话框中。
您也可以在实验设置和访问权限面板中找到“密码”。
点击下一步。
依次点击进入后续页面:
片刻之后,系统会在此标签页中打开 Google Cloud 控制台。
托管式 Apache Spark 是一项托管式 Spark 和 Hadoop 服务。借助该服务,您可以充分利用开源数据工具来进行批处理、查询、流式传输和机器学习。托管式 Apache Spark 自动化功能可帮助您快速创建和轻松管理集群,并在不需要时关闭集群来节省费用。由于花在管理上的时间和费用减少,您便可以专注于处理作业和数据。
如果您的计算密集型作业具备以下特征,请考虑使用托管式 Apache Spark 进行扩容:
如果不同数据子集需要不同的处理量,或者您还不是很熟悉 Apache Spark,则 Cloud Dataflow 上的 Apache Beam 是一个极具吸引力的替代方案,因为它能够提供自动扩缩的数据流水线。
在本实验中,您将运行的作业会使用 OpenCV 中指定的一组图片处理规则来勾勒出图片中的人脸轮廓。事实上,Vision API 是完成此任务的更好选择,因为这类人工编写的规则效果并不理想。不过,本实验旨在展示如何以分布式的方式来执行计算密集型作业。
首先,您需要创建一个虚拟机来托管服务。
在机器配置中,
选择以下值:
devhost
E2
e2-standard-2(2 个 vCPU)点击安全。
点击创建。此机器将作为您的开发 bastion(堡垒)主机。
点击检查我的进度以验证您已完成的任务。
现在,设置用于运行作业的软件环境。您将使用开源构建工具 sbt,为即将提交到托管式 Apache Spark 集群的作业构建 JAR。此 JAR 将包含运行该作业所必需的程序和软件包。该作业将检测存储在 Cloud Storage 存储桶中的一组图片文件内的人脸,并将勾勒出人脸轮廓的图片文件写入到同一个或另一个 Cloud Storage 存储桶中。
Scala 和 sbt,以便编译代码:接下来,您将构建特征检测器文件。本实验中的代码基于 GitHub 上托管式 Apache Spark 代码库中的现有方案稍作修改而成。您需要下载该代码,然后通过 cd 命令进入本实验的目录,并构建特征检测器的“fat JAR”,以便将其提交至托管式 Apache Spark。
点击检查我的进度以验证您已完成的任务。
现在,您已经构建了特征检测器文件,接下来创建一个 Cloud Storage 存储桶,并向其中添加一些示例图片。
gcloud 附带的 gsutil 程序,创建用于存放示例图片的存储桶:点击检查我的进度以验证您已完成的任务。
您刚刚将以下图片下载到了 Cloud Storage 存储桶中:
点击检查我的进度以验证您已完成的任务。
输出:
MYCLUSTER 变量。您将在命令中使用此变量来指代您的集群:这可能需要几分钟时间。对本实验而言,包含两个工作器节点的默认集群设置应该足以满足需求。为减少集群使用的总核心数,工作器和主机器类型均指定为 e2-standard-2。
对于 initialization-actions 标志,您要传递一个脚本,该脚本会在每个集群机器上安装 libgtk2.0-dev 库。运行代码需要用到此库。
gcloud dataproc clusters delete ${MYCLUSTER}),然后重试之前的集群创建命令。
点击检查我的进度以验证您已完成的任务。
在本实验中,您运行的程序用作人脸检测器,因此输入的 haar 分类器必须描述人脸。haar 分类器是一个 XML 文件,用于描述程序检测到的特征。您需要下载 haar 分类器文件,并在向托管式 Apache Spark 集群提交作业时,将该文件的 Cloud Storage 路径添加到第一个参数中。
imgs 目录中的一组图片,作为特征检测器的输入。您必须将该目录的路径添加为作业提交命令的第二个参数。如果您有要使用的任何其他图片,可以添加到第二个参数中指定的 Cloud Storage 存储桶内。
当看到状态为“成功”时,即可继续执行后续步骤。
点击检查我的进度以验证您已完成的任务。
作业完成后,请前往导航菜单 > Cloud Storage,找到您创建的存储桶(其名称将由您的用户名、student-image 和一个随机数组成),然后点击该存储桶。
点击 Out 目录中的图片。
点击下载图标,该图片就会下载到您的计算机上。
人脸检测的准确度如何?事实上,Vision API 是完成此任务的更好选择,因为这类人工编写的规则效果并不理想。接下来,您可以了解它的运作方式。
(可选)在存储桶中,前往 imgs 文件夹,然后点击您上传到存储桶的其他图片。这会下载三个示例图片。将这些图片保存到您的计算机。
点击此链接前往 Vision API 页面,向下滚动到试用此 API 部分,然后上传您从存储桶下载的图片。您将在几秒钟内看到图片检测结果。底层的机器学习模型在不断改进,因此您的结果可能有所不同:
FeatureDetector 代码,然后重新运行 sbt assembly、gcloud dataproc 和 jobs submit 命令。下方选择题可加强您对本实验所涉概念的理解。请尽您所能回答。
您学习了如何启动托管式 Apache Spark 集群并运行作业!
…可帮助您充分利用 Google Cloud 技术。我们的课程会讲解各项技能与最佳实践,可帮助您迅速上手使用并继续学习更深入的知识。我们提供从基础到高级的全方位培训,并有点播、直播和虚拟三种方式选择,让您可以按照自己的日程安排学习时间。各项认证可以帮助您核实并证明您在 Google Cloud 技术方面的技能与专业知识。
上次更新手册的时间:2026 年 7 月 6 日
上次测试实验的时间:2026 年 7 月 6 日
版权所有 2026 Google LLC 保留所有权利。Google 和 Google 徽标是 Google LLC 的商标。其他所有公司名和产品名可能是其各自相关公司的商标。
此内容目前不可用
一旦可用,我们会通过电子邮件告知您
太好了!
一旦可用,我们会通过电子邮件告知您
一次一个实验
确认结束所有现有实验并开始此实验