创建启用了 Dataproc 的实例

本页面介绍了如何创建启用了 Dataproc 的 Vertex AI Workbench 实例。本页面还介绍了 Dataproc JupyterLab 插件的优势,并简要介绍了如何将该插件与 Dataproc Serverless for Spark 和 Dataproc on Compute Engine 搭配使用。

Dataproc JupyterLab 插件概览

M113 版及更高版本开始,Vertex AI Workbench 实例预安装了 Dataproc JupyterLab 插件。

Dataproc JupyterLab 插件提供了两种运行 Apache Spark 笔记本作业的方法:Dataproc 集群和 Serverless Spark on Dataproc。

  • Dataproc 集群包含一组丰富的功能,可控制 Spark 运行的基础架构。您可以选择 Spark 集群的大小和配置,从而对您的环境进行自定义和控制。此方法非常适合复杂的工作负载、长时间运行的作业和精细的资源管理。
  • 由 Dataproc 提供支持的 Serverless Spark 消除了基础架构问题。您提交 Spark 作业后,Google 会在后台处理资源的预配、扩缩和优化工作。这种无服务器方法为数据科学和机器学习工作负载提供了简单且经济实惠的方案。

无论选择哪一种方法,您都可以使用 Spark 进行数据处理和分析。选择 Dataproc 集群还是 Serverless Spark 取决于您的特定工作负载要求、所需的控制级别和资源使用模式。

使用 Serverless Spark 处理数据科学和机器学习工作负载的优势包括:

  • 无集群管理:您无需担心预配、配置或管理 Spark 集群。这样可以节省时间和资源。
  • 自动扩缩:Serverless Spark 会根据工作负载自动扩缩,因此您只需为使用的资源付费。
  • 高性能:Serverless Spark 针对性能进行了优化,并利用 Google Cloud 的基础架构。
  • 与其他 Google Cloud 技术集成:Serverless Spark 与其他 Google Cloud 产品(例如 BigQuery 和 Dataplex)集成。

如需了解详情,请参阅 Dataproc Serverless 文档

Dataproc 限制和注意事项

  • Spark 作业使用服务账号身份(而不是提交用户的身份)执行。

准备工作

  1. 登录您的 Google Cloud 账号。如果您是 Google Cloud 新手,请创建一个账号来评估我们的产品在实际场景中的表现。新客户还可获享 $300 赠金,用于运行、测试和部署工作负载。
  2. 在 Google Cloud Console 中的项目选择器页面上,选择或创建一个 Google Cloud 项目

    转到“项目选择器”

  3. 启用 Cloud Resource Manager, Dataproc, and Notebooks API。

    启用 API

  4. 在 Google Cloud Console 中的项目选择器页面上,选择或创建一个 Google Cloud 项目

    转到“项目选择器”

  5. 启用 Cloud Resource Manager, Dataproc, and Notebooks API。

    启用 API

所需的角色

如需确保服务账号拥有在 Dataproc Serverless 集群或 Dataproc 集群上运行笔记本文件所需的权限,请让您的管理员为服务账号授予以下 IAM 角色:

  • 针对您的项目的 Dataproc Worker (roles/dataproc.worker)
  • 针对拥有 dataproc.clusters.use 权限的集群的 Dataproc Editor (roles/dataproc.editor)

如需详细了解如何授予角色,请参阅管理访问权限

这些预定义角色可提供在 Dataproc Serverless 集群或 Dataproc 集群上运行笔记本文件所需的权限。如需查看所需的确切权限,请展开所需权限部分:

所需权限

在 Dataproc Serverless 集群或 Dataproc 集群上运行笔记本文件需要以下权限:

  • dataproc.agents.create
  • dataproc.agents.delete
  • dataproc.agents.get
  • dataproc.agents.update
  • dataproc.tasks.lease
  • dataproc.tasks.listInvalidatedLeases
  • dataproc.tasks.reportStatus
  • dataproc.clusters.use

您的管理员也可以使用自定义角色或其他预定义角色为服务账号授予这些权限。

创建启用了 Dataproc 的实例

如需创建启用了 Dataproc 的 Vertex AI Workbench 实例,请执行以下操作:

  1. 在 Google Cloud 控制台中,进入实例页面。

    转到实例

  2. 点击  新建

  3. 新建实例对话框中,点击高级选项

  4. 创建实例对话框的详细信息部分中,确保选中启用 Dataproc

  5. 确保将 Workbench 类型设置为实例

  6. 环境部分中,确保您使用最新版本或编号为 M113 或更高的版本。

  7. 点击创建

    Vertex AI Workbench 会创建实例并自动启动该实例。当实例可供使用时,Vertex AI Workbench 会激活一个打开 JupyterLab 链接。

打开 JupyterLab

在实例名称旁边,点击打开 JupyterLab

JupyterLab 启动器标签页会在浏览器中打开。默认情况下,该标签页包含 Dataproc Serverless NotebooksDataproc Jobs and Sessions 部分。如果所选项目和区域中存在支持 Jupyter 的集群,则系统会显示一个名为 Dataproc Cluster Notebooks 的部分。

将插件与 Dataproc Serverless for Spark 搭配使用

与 Vertex AI Workbench 实例位于同一区域和项目中的 Serverless Spark 运行时模板显示在 JupyterLab 启动器标签页的 Dataproc Serverless Notebooks 部分中。

如需创建运行时模板,请参阅创建 Dataproc Serverless 运行时模板

如需打开新的 Serverless Spark 笔记本,请点击运行时模板。远程 Spark 内核启动大约需要一分钟时间。内核启动后,您就可以开始编码了。如需在 Serverless Spark 上运行代码,请在笔记本中运行代码单元。

将插件与 Dataproc on Compute Engine 搭配使用

如果您创建了 Dataproc on Compute Engine Jupyter 集群,则启动器标签页会包含 Dataproc Cluster Notebooks 部分。

对于您有权访问该区域和项目中的每个支持 Jupyter 的 Dataproc 集群,系统都会显示四个卡片。

如需更改区域和项目,请执行以下操作:

  1. 选择设置 > Cloud Dataproc Settings

  2. Setup Config 标签页上的项目信息下,更改项目 ID区域,然后点击保存

    这些更改在您重启 JupyterLab 后才会生效。

  3. 如需重启 JupyterLab,请选择文件 > 关停,然后点击 Vertex AI Workbench instances 页面上的打开 JupyterLab

如需创建新的笔记本,请点击卡片。Dataproc 集群上的远程内核启动后,您可以开始编写代码,然后在集群上运行代码。

使用 gcloud CLI 管理 Vertex AI Workbench 实例上的 Dataproc

Vertex AI Workbench 实例创建时默认启用 Dataproc。您可以通过将 disable-mixer metadata 键设置为 true,在创建 Vertex AI Workbench 实例时停用 Dataproc。

gcloud workbench instances create INSTANCE_NAME --metadata=disable-mixer=true

您可以通过更新元数据值,在已停止的 Vertex AI Workbench 实例上启用 Dataproc。

gcloud workbench instances create INSTANCE_NAME --metadata=disable-mixer=false

使用 Terraform 管理 Dataproc

在 Terraform 上,Vertex AI Workbench 实例的 Dataproc 使用元数据字段中的 disable-mixer 键进行管理。将 disable-mixer metadata 键设置为 false 可以启用 Dataproc。将 disable-mixer 元数据键设置为 true 可以关闭 Dataproc。

如需了解如何应用或移除 Terraform 配置,请参阅基本 Terraform 命令

resource "google_workbench_instance" "default" {
  name     = "workbench-instance-example"
  location = "us-central1-a"

  gce_setup {
    machine_type = "n1-standard-1"
    vm_image {
      project = "deeplearning-platform-release"
      family  = "tf-latest-gpu"
    }
    metadata = {
      disable-mixer = "false"
    }
  }
}

后续步骤