Google Cloud O Serverless para Apache Spark permite-lhe executar cargas de trabalho do Spark sem ter de aprovisionar e gerir o seu próprio cluster do Dataproc. Existem duas formas de executar cargas de trabalho do Apache Spark sem servidor:
Cargas de trabalho em lote
Envie uma carga de trabalho em lote para o serviço Serverless for Apache Spark através da Google Cloud consola, da CLI Google Cloud ou da API Dataproc. O serviço executa a carga de trabalho numa infraestrutura de computação gerida, dimensionando automaticamente os recursos conforme necessário. As cobranças do Serverless para Apache Spark aplicam-se apenas ao período em que a carga de trabalho está a ser executada.
Para começar, consulte o artigo Execute uma carga de trabalho em lote do Apache Spark.
Sessões interativas
Escrever e executar código em blocos de notas do Jupyter durante uma sessão interativa do Serverless for Apache Spark. Pode criar uma sessão do bloco de notas das seguintes formas:
Execute código PySpark nos blocos de notas do BigQuery Studio. Use o bloco de notas Python do BigQuery para criar uma sessão interativa sem servidor para o Apache Spark baseada no Spark Connect. Cada bloco de notas do BigQuery só pode ter uma sessão do Serverless para Apache Spark ativa associada.
Use o plug-in Dataproc JupyterLab para criar várias sessões do bloco de notas Jupyter a partir de modelos que cria e gere. Quando instala o plug-in numa máquina local ou numa VM do Compute Engine, são apresentados diferentes cartões que correspondem a diferentes configurações do kernel do Spark na página de início do JupyterLab. Clique num cartão para criar uma sessão de bloco de notas do Serverless for Apache Spark e, de seguida, comece a escrever e testar o seu código no bloco de notas.
O plug-in do Dataproc JupyterLab também lhe permite usar a página de início do JupyterLab para realizar as seguintes ações:
- Crie clusters do Dataproc no Compute Engine.
- Envie tarefas para o Dataproc em clusters do Compute Engine.
- Veja os registos Google Cloud e do Spark.
Sem servidor para o Apache Spark em comparação com o Dataproc no Compute Engine
Se quiser aprovisionar e gerir infraestrutura e, em seguida, executar cargas de trabalho no Spark e noutras frameworks de processamento de código aberto, use o Dataproc no Compute Engine. A tabela seguinte apresenta as principais diferenças entre o Dataproc no Compute Engine e o Serverless para Apache Spark.
Capacidade | Sem servidor para o Apache Spark | Dataproc no Compute Engine |
---|---|---|
Frameworks de processamento | Cargas de trabalho em lote: Spark 3.5 e versões anteriores Sessões interativas: Spark 3.5 e versões anteriores |
Spark 3.5 e versões anteriores. Outras frameworks de código aberto, como o Hive, o Flink, o Trino e o Kafka |
Sem servidor | Sim | Não |
Tempo de arranque | 60s | 90s |
Controlo de infraestruturas | Não | Sim |
Gestão de recursos | Com base no Spark | Baseado no YARN |
Suporte de GPU | Yes | Sim |
Sessões interativas | Sim | Não |
Contentores personalizados | Yes | Não |
Acesso à VM (por exemplo, SSH) | Não | Sim |
Versões do Java | Java 17 e 11 | Versões anteriores suportadas |
Conformidade de segurança
O Serverless para Apache Spark cumpre todos os requisitos de residência de dados, CMEK, VPC-SC> e outros requisitos de segurança com os quais o Dataproc está em conformidade.
Capacidades de carga de trabalho em lote
Pode executar os seguintes tipos de cargas de trabalho em lote sem servidor para o Apache Spark:
- PySpark
- Spark SQL
- Spark R
- Spark (Java ou Scala)
Pode especificar propriedades do Spark quando envia uma carga de trabalho em lote sem servidor para o Apache Spark.