借助 Dataproc Serverless,您可以运行 Spark 工作负载,而无需预配和管理您自己的 Dataproc 集群。
您可以通过以下两种方式运行 Dataproc 无服务器工作负载:
适用于 Spark Batch 的 Dataproc Serverless:使用 Google Cloud 控制台、Google Cloud CLI 或 Dataproc API 将批量工作负载提交到 Dataproc Serverless 服务。该服务将在托管式计算基础架构上运行工作负载,并根据需要自动扩缩资源。Dataproc 无服务器费用仅适用于执行工作负载的时间。
如需开始使用,请参阅运行 Apache Spark 批量工作负载。
Dataproc Serverless for Spark Interactive:在 Dataproc Serverless for Spark Interactive 会话期间在 Jupyter 笔记本中编写并运行代码。您可以通过以下方式创建笔记本会话:
- 使用 Dataproc JupyterLab 插件基于您创建和管理的模板创建多个笔记本会话。当您在本地机器或 Compute Engine 虚拟机上安装该插件时,与不同 Spark 内核配置对应的不同卡会显示在 JupyterLab 启动器页面上。点击卡片即可创建 Dataproc 无服务器笔记本会话,然后开始在笔记本中编写和测试代码。
借助 Dataproc JupyterLab 插件,您还可以使用 JupyterLab 启动器页面执行以下操作:
- 在 Compute Engine 集群上创建 Dataproc。
- 将作业提交到 Compute Engine 集群上的 Dataproc。
- 查看 Google Cloud 和 Spark 日志。
如需开始使用,请参阅使用 JupyterLab 运行无服务器批处理和交互式笔记本会话。
Dataproc Serverless for Spark 与 Dataproc on Compute Engine
如果您希望预配和管理基础架构,然后在 Spark 和其他开源处理框架上执行工作负载,则 Compute Engine 上的 Dataproc 是理想选择。下表列出了 Dataproc on Compute Engine 与 Dataproc Serverless for Spark 之间的主要区别。
能力 | Dataproc Serverless for Spark | Dataproc on Compute Engine |
---|---|---|
处理框架 | 批处理:Spark 3.4 及更早版本 交互式:适用于 Spark 3.4 及更低版本的 PySpark 内核 |
Spark 3.3 及更早版本。其他开源框架,如 Hive、Flink、Trino 和 Kafka |
无服务器 | 是 | 否 |
启动时间 | 60 秒 | 90 秒 |
基础架构控制 | 否 | 是 |
资源管理 | 基于 Spark | 基于 YARN |
GPU 支持 | 已计划 | 是 |
交互式会话 | 是 | 否 |
自定义容器 | 是 | 否 |
虚拟机访问权限(例如 SSH) | 否 | 是 |
Java 版本 | Java 17、11 | 支持过往版本 |
OS Login 支持 * |
否 | 是 |
备注:
- OS Login 政策不适用于 Dataproc Serverless 或不受其支持。如果您的组织强制执行
OS Login
政策,其 Dataproc 无服务器工作负载将会失败。
Dataproc 无服务器安全合规性
Dataproc Serverless 遵循所有数据驻留、CMEK、VPC-SC 和 Dataproc 符合的其他安全要求。
Dataproc Serverless for Spark 批处理工作负载功能
您可以运行以下适用于 Spark 批处理工作负载类型的 Dataproc Serverless:
- Pyspark
- Spark SQL
- Spark R
- Spark(Java 或 Scala)
在提交 Dataproc Serverless for Spark 批量工作负载时,您可以指定 Spark 属性。