Dataproc 无服务器价格
Dataproc Serverless for Spark 的价格取决于数据计算单元 (DCU) 的数量、使用的加速器数量以及使用的 Shuffle 存储空间大小。DCU、加速器和 Shuffle 存储按秒计费,DCU 和 Shuffle 存储最低按 1 分钟计费,加速器最低按 5 分钟计费。
每个 Dataproc vCPU 计为 0.6 个 DCU。低于和高于 8 GB 时,RAM 的收费方式有所不同。每个 vCPU 每 GB 低于 8G 的每 GB RAM 计为 0.1 DCU,每 vCPU 每 GB 超过 8G GB 的每 GB 计为 0.2 DCU。Spark 驱动程序和执行程序使用的内存以及系统内存使用量将计入 DCU 使用量。
默认情况下,每个 Dataproc Serverless for Spark 批处理和交互式工作负载在工作负载持续期间至少消耗 12 个 DCU:驱动程序使用 4 个 vCPU 和 16GB RAM,使用 4 个 DCU,两个执行器分别使用 4 个 vCPU 和 16GB RAM,并消耗 4 个 DCU。您可以通过设置 Spark 属性来自定义 vCPU 数量和每个 vCPU 的内存量。您无需支付额外的 Compute Engine 虚拟机或 Persistent Disk 费用。
数据计算单元 (DCU) 价格
下面显示的 DCU 费率是小时费率。该方案按比例计费,按秒计费,最低 1 分钟起计。
Dataproc Serverless for Spark 交互式工作负载按高级方案收费。
Shuffle 存储价格
下方显示的 Shuffle 存储费率是按月费率。它按比例计算,按秒计费,标准 Shuffle 存储最低按 1 分钟计费,高级 Shuffle 存储最低按 5 分钟计费。高级 Shuffle 存储只能与高级计算单元搭配使用。
加速器价格
下面显示的加速器速率是每小时费率。该方案按比例计费,按秒计费,最低 5 分钟起计。
价格示例
如果 Dataproc Serverless for Spark 批量工作负载在 us-central1 区域中使用 12 个 DCU(spark.driver.cores=4
、spark.executor.cores=4
、spark.executor.instances=2
)运行了 24 小时,并且占用了 25GB 的 Shuffle 存储空间,则价格计算如下。
Total compute cost = 12 * 24 * $0.060000 = $17.28 Total storage cost = 25 * ($0.040/301) = $0.03 ------------------------------------------------ Total cost = $17.28 + $0.03 = $17.31
注意:
- 该示例假设一个月为 30 天。由于批量工作负载的时长为一天,因此每月 Shuffle 存储速率除以 30。
如果 Dataproc Serverless for Spark 批量工作负载在 us-central1 区域中使用 12 个 DCU 和 2 个 L4 GPU(spark.driver.cores=4
、spark.executor.cores=4
、spark.executor.instances=2
、spark.dataproc.driver.compute.tier=premium
、spark.dataproc.executor.compute.tier=premium
、spark.dataproc.executor.disk.tier=premium
、spark.dataproc.executor.resource.accelerator.type=l4
)运行了 24 小时,并且占用了 25GB 的 Shuffle 存储空间,则价格计算如下。
Total compute cost = 12 * 24 * $0.089000 = $25.632 Total storage cost = 25 * ($0.1/301) = $0.083 Total accelerator cost = 2 * 24 * $0.6720 = $48.39 ------------------------------------------------ Total cost = $25.632 + $0.083 + $48.39 = $74.105
注意:
- 该示例假设一个月为 30 天。由于批量工作负载的时长为一天,因此每月 Shuffle 存储速率除以 30。
如果 Dataproc Serverless for Spark 交互式工作负载在 us-central1 区域中使用 12 个 DCU(spark.driver.cores=4
、spark.executor.cores=4
、spark.executor.instances=2
)运行 24 小时,并使用 25GB 的 Shuffle 存储空间,则价格计算如下:
Total compute cost = 12 * 24 * $0.089000 = $25.632 Total storage cost = 25 * ($0.040/301) = $0.03 ------------------------------------------------ Total cost = $25.632 + $0.03 = $25.662
注意:
- 该示例假设一个月为 30 天。由于批量工作负载的时长为一天,因此每月 Shuffle 存储速率除以 30。
价格估算示例
批量工作负载完成后,Dataproc Serverless for Spark 将计算 UsageMetrics,其中包含已完成的工作负载消耗的总 DCU、加速器和 Shuffle 存储资源的近似值。运行工作负载后,您可以运行 gcloud dataproc batches describe BATCH_ID
命令来查看工作负载用量指标,以估算运行工作负载的费用。
示例:
Dataproc Serverless for Spark 在具有一个主实例和两个工作器的临时集群上运行工作负载。每个节点使用 4 个 DCU(默认为每个核心 4 个 DCU)和 400 GB 的 Shuffle 存储空间(默认为每个核心 100 GB,请参阅 spark.driver.cores
)。工作负载运行时间为 60 秒。spark.dataproc.driver.disk.size
此外,每个工作器有 1 个 GPU,因此整个集群中总共有 2 个 GPU。
用户运行 gcloud dataproc batches describe BATCH_ID --region REGION
来获取用量指标。命令输出包含以下代码段(milliDcuSeconds
:4 DCUs x 3 VMs x 60 seconds x 1000
= 720000
,milliAcceleratorSeconds
:1 GPU x 2 VMs x 60 seconds x 1000
= 120000
,shuffleStorageGbSeconds
:400GB x 3 VMs x 60 seconds
= 72000
):
runtimeInfo: approximateUsage: milliDcuSeconds: '720000' shuffleStorageGbSeconds: '72000' milliAcceleratorSeconds: '120000'
使用其他 Google Cloud 资源
您的 Dataproc Serverless for Spark 工作负载可以选择使用以下资源(均按各自的价格收费),包括但不限于:
后续步骤
- 阅读 Dataproc 无服务器文档。
- 开始使用 Dataproc 无服务器。
- 试用价格计算器。