Dataproc 无服务器价格
Dataproc Serverless for Spark 价格取决于数据计算单元 (DCU) 的数量、使用的加速器数量以及使用的 Shuffle 存储空间容量。DCU、加速器和 Shuffle 存储按秒计费,DCU 和 Shuffle 存储最低 1 分钟收费,加速器最低 5 分钟收费。
每个 Dataproc vCPU 计为 0.6 个 DCU。8 GB 以下和高于 8 GB 的 RAM 计费方式有所不同。对于每个 vCPU,低于 8G GB 的 RAM 每 GB 计为 0.1 个 DCU,高于每个 vCPU 8 G GB 的 RAM 每 GB 计为 0.2 DCU。Spark 驱动程序和执行程序使用的内存以及系统内存用量计入 DCU 用量。
默认情况下,每个 Dataproc Serverless for Spark 批处理和交互式工作负载在工作负载运行期间至少使用 12 个 DCU:驱动程序使用 4 个 vCPU 和 16 GB RAM,使用 4 个 DCU,每个 2 个 DCU 使用 4 GB 的 vCPU 和 1 个 DCU。4 GB 的 vCPU 和 1 个您可以通过设置 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 批量工作负载使用 12 个 DCU(spark.driver.cores=4
、spark.executor.cores=4
、spark.executor.instances=2
)在 us-central1 区域中运行 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 交互式工作负载使用 12 个 DCU(spark.driver.cores=4
、spark.executor.cores=4
、spark.executor.instances=2
)在 us-central1 区域中运行 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,请参阅 spark.dataproc.driver.disk.size
)和 400 GB 的 shuffle 存储空间(默认为每个核心 100 GB,请参阅 spark.driver.cores
)。工作负载运行时间为 60 秒。此外,每个工作器有 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 无服务器。
- 试用价格计算器。