無伺服器型 Dataproc 定價
Dataproc Serverless for Spark 的定價是依據 Data Compute Unit (DCU) 數量、使用的加速器數量和使用的 Shuffle 儲存空間量計算。DCU、加速器和洗牌儲存空間的計費單位為秒,DCU 和洗牌儲存空間的最低計費週期為 1 分鐘,加速器的最低計費週期為 5 分鐘。
每個 Dataproc vCPU 的 DCU 數量為 0.6。8 GB 以下和 8 GB 以上的 RAM 收費方式不同每個 vCPU 的 RAM 容量若低於 8 GB,則每 GB 會計為 0.1 DCU;若高於 8 GB,則每 GB 會計為 0.2 DCU。Spark 驅動程式和執行程式所用的記憶體,以及系統記憶體用量都會計入 DCU 用量。
預設情況下,每個 Dataproc Serverless for Spark 批次和互動式工作負載在工作負載期間會消耗 至少 12 個 DCU:驅動程式會使用 4 個 vCPU 和 16 GB RAM,並消耗 4 個 DCU,而 2 個執行程式中的每個執行程式會使用 4 個 vCPU 和 16 GB RAM,並消耗 4 個 DCU。您可以自訂 vCPU 數量,以及每個 vCPU 的記憶體容量,方法是設定 Spark 屬性。無須額外付費即可使用 Compute Engine VM 或永久磁碟。
資料運算單元 (DCU) 定價
下方顯示的 DCU 費率為每小時費率。以秒為單位按比例計費,且有 1 分鐘的最低使用費用。
使用 Dataproc Serverless for Spark 執行互動式工作負載時,會依照 Premium 方案收費。
Shuffle 儲存空間定價
下方顯示的隨機存取儲存空間費率為每月費率。計費方式為按秒按比例分攤,標準隨機播放儲存空間最短計費週期為 1 分鐘,Premium 隨機播放儲存空間最短計費週期為 5 分鐘。進階隨機存取儲存空間只能搭配進階運算單元使用。
加速器定價
下方顯示的加速器費率是以每小時為單位。以秒為單位按比例計費,最低收費時間為 5 分鐘。
計費示例
如果 Dataproc Serverless for Spark 批次工作負載在 us-central1 區域中以 12 個 DCU (spark.driver.cores=4
、spark.executor.cores=4
、spark.executor.instances=2
) 運作 24 小時,並使用 25 GB 的排序儲存空間,則價格計算方式如下:
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 天。由於批次工作負載的持續時間為一天,因此每月隨機存取儲存率是除以 30。
如果 Spark 批次工作負載適用的 Dataproc Serverless 在 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 小時,並使用 25 GB 的洗牌儲存空間,則價格計算方式如下:
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 天。由於批次工作負載的持續時間為一天,因此每月隨機存取儲存率是除以 30。
如果 Spark 互動式工作負載適用的 Dataproc Serverless 在 us-central1 區域以 12 個 DCU (spark.driver.cores=4
、spark.executor.cores=4
、spark.executor.instances=2
) 運作 24 小時,並使用 25 GB 的排序集儲存空間,則價格計算方式如下:
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 天。由於批次工作負載的持續時間為一天,因此每月隨機儲存率是除以 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 Serverless 說明文件。
- 開始使用 Dataproc Serverless。
- 試用 Pricing Calculator。