Preços do Dataproc sem servidor
Os preços do Dataproc Serverless para o Spark são baseados no número de unidades de computação de dados (DCUs), no número de aceleradores usados e na quantidade de armazenamento de shuffle usado. Os DCUs, os aceleradores e o armazenamento em shuffle são cobrados por segundo, com uma cobrança mínima de 1 minuto para DCUs e armazenamento em shuffle e uma cobrança mínima de 5 minutos para aceleradores.
Cada vCPU do Dataproc conta como 0,6 DCU. A RAM é cobrada de forma diferente abaixo e acima de 8 GB. Cada gigabyte de RAM abaixo de 8 gigabytes por vCPU conta como 0,1 DCU, e cada gigabyte de RAM acima de 8 gigabytes por vCPU conta como 0,2 DCU. A memória usada por drivers e executores do Spark e o uso de memória do sistema são contados como uso de DCU.
Por padrão, cada carga de trabalho interativa e em lote do Dataproc Serverless para o Spark consome no mínimo 12 DCUs durante a execução: o driver usa 4 vCPUs e 16 GB de RAM e consome 4 DCUs, e cada um dos 2 executores usa 4 vCPUs e 16 GB de RAM e consome 4 DCUs. É possível personalizar o número de vCPUs e a quantidade de memória por vCPU definindo propriedades do Spark. Não há cobranças adicionais de VM do Compute Engine ou Persistent Disk.
Preço da unidade de computação de dados (DCU)
A taxa de DCA mostrada abaixo é uma taxa por hora. Ele é rateado e faturado por
segundo, com uma cobrança mínima de 1 minuto.
A carga de trabalho interativa do Dataproc Serverless para Spark é cobrada como Premium.
Preços do armazenamento do Shuffle
A taxa de armazenamento aleatório mostrada abaixo é mensal. Ele é prorrateado e faturado por segundo, com uma cobrança mínima de 1 minuto para o armazenamento em shuffle padrão e uma cobrança mínima de 5 minutos para o armazenamento em shuffle Premium. O armazenamento embaralhado premium só pode ser usado com a unidade de processamento Premium.
Preço do Accelerator
A taxa do acelerador mostrada abaixo é uma taxa por hora. Ele é rateado e faturado por
segundo, com uma cobrança mínima de 5 minutos.
Exemplo de preço
Se a carga de trabalho em lote do Dataproc Serverless para o Spark for executada com 12 DCUs
(spark.driver.cores=4
,spark.executor.cores=4
,spark.executor.instances=2
)
por 24 horas na região us-central1 e consumir 25 GB de armazenamento de shuffle, o
cálculo do preço será o seguinte.
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
Observações:
- O exemplo pressupõe um mês de 30 dias. Como a duração da carga de trabalho em lote é de um dia, a taxa de armazenamento mensal de shuffle é dividida por 30.
Se a carga de trabalho em lote do Dataproc Serverless para o Spark for executada com 12 DCUs e 2
GPUs L4 (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
) por 24 horas na
região us-central1 e consumir 25 GB de armazenamento de shuffle, o cálculo de preço
será o seguinte.
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
Observações:
- O exemplo pressupõe um mês de 30 dias. Como a duração da carga de trabalho em lote é de um dia, a taxa de armazenamento mensal de shuffle é dividida por 30.
Se a carga de trabalho interativa do Dataproc Serverless for Spark for executada com 12 DCUs
(spark.driver.cores=4
,spark.executor.cores=4
,spark.executor.instances=2
)
por 24 horas na região us-central1 e consumir 25 GB de armazenamento de shuffle, o
cálculo do preço será o seguinte:
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
Observações:
- O exemplo pressupõe um mês de 30 dias. Como a duração da carga de trabalho em lote é de um dia, a taxa de armazenamento mensal de shuffle é dividida por 30.
Exemplo de estimativa de preço
Quando uma carga de trabalho em lote é concluída, o Dataproc Serverless para Spark calcula
UsageMetrics,
que contêm uma aproximação do total de recursos de DCU, acelerador e armazenamento de
shuffle consumidos pela carga de trabalho concluída. Depois de executar uma carga de trabalho,
execute o comando gcloud dataproc batches describe BATCH_ID
para conferir as métricas de uso da carga de trabalho e estimar o custo da execução.
Exemplo:
O Dataproc Serverless para Spark executa uma carga de trabalho em um cluster temporário com
um mestre e dois workers. Cada nó consome 4 DPUs (o padrão é 4 DPUs por núcleo.
Consulte spark.dataproc.driver.disk.size
)
e 400 GB de armazenamento de shuffle
(o padrão é 100 GB por núcleo.
spark.driver.cores
).
O tempo de execução da carga de trabalho é de 60 segundos. Além disso, cada worker tem uma GPU, totalizando
duas no cluster.
O usuário executa gcloud dataproc batches describe BATCH_ID --region REGION
para receber métricas de uso. A resposta ao comando inclui o snippet a seguir
(milliDcuSeconds
: 4 DCUs x 3 VMs x 60 seconds x 1000
=
720000
, milliAcceleratorSeconds
: 1 GPU x 2 VMs x 60 seconds x 1000
=
120000
e shuffleStorageGbSeconds
: 400GB x 3 VMs x 60 seconds
= 72000
):
runtimeInfo: approximateUsage: milliDcuSeconds: '720000' shuffleStorageGbSeconds: '72000' milliAcceleratorSeconds: '120000'
Uso de outros recursos do Google Cloud
Sua carga de trabalho do Dataproc Serverless para Spark pode usar os recursos a seguir, sendo cada um deles faturado conforme a determinação de preços, incluindo sem limitação:
A seguir
- Leia a documentação do Dataproc Serverless.
- Comece a usar o Dataproc Serverless.
- Use a calculadora de preços.