O Serviço Gerenciado para Apache Spark agora inclui as opções de produto anteriores "Dataproc no Compute Engine" (implantação de cluster) e a anterior "Google Cloud Serverless para Apache Spark" (implantação sem servidor).
Embora ambas as opções ofereçam um ambiente Spark gerenciado, altamente escalonável, pronto para produção e seguro, compatível com OSS e com suporte total a formatos de dados, elas diferem na forma como gerenciam a infraestrutura subjacente e cobram pelos recursos. Analise os recursos e casos de uso a seguir para ajudar a escolher uma solução do Spark.
Para mais informações sobre as implantações sem servidor do Serviço Gerenciado para Apache Spark, consulte Visão geral da implantação sem servidor do Serviço Gerenciado para Apache Spark.
Comparar implantações do Serviço Gerenciado para Apache Spark
A tabela a seguir lista as principais diferenças entre o cluster do Serviço Gerenciado para Apache Spark e as implantações sem servidor.
| Implantação | Sem servidor | Cluster |
|---|---|---|
| Frameworks de processamento | Cargas de trabalho em lote e sessões interativas: Spark | Spark. Outros frameworks de código aberto, como Hive, Flink, Trino e Kafka |
| Sem servidor | Sim | Não |
| Tempo de inicialização | 50s | 120s |
| Controle de infraestrutura | Não | Sim |
| Gerenciamento de recursos | Sem servidor | YARN |
| Suporte a GPUs | Sim | Sim |
| Sessões interativas | Sim | Não |
| Contêineres personalizados | Sim | Não |
| Acesso à VM (SSH) | Não | Sim |
| Versões do Java | Java 17, 21 | Java 17 e versões anteriores |
Decidir sobre a melhor implantação do Serviço Gerenciado para Apache Spark
Esta seção descreve os principais pontos fortes e casos de uso do Serviço Gerenciado para Apache Spark para ajudar você a selecionar a melhor implantação do Serviço Gerenciado para Apache Spark (cluster ou sem servidor) para suas cargas de trabalho do Spark.
Visão geral
As implantações do Serviço Gerenciado para Apache Spark diferem no grau de controle, gerenciamento de infraestrutura e modo de faturamento que cada uma oferece.
- Implantação sem servidor:o Serviço Gerenciado para Apache Spark oferece jobs do Spark como serviço, executando o Spark em uma infraestrutura totalmente gerenciada. Google Cloud Você paga pelo tempo de execução do job.
- Implantação de cluster:oferece clusters do Spark como serviço, executando o Spark gerenciado na infraestrutura do Compute Engine. Você paga pelo tempo de atividade do cluster.
Devido a essas diferenças, cada implantação do Serviço Gerenciado para Apache Spark é mais adequada nos seguintes casos de uso:
| Implantação | Casos de uso |
|---|---|
| Sem servidor | Diferentes ambientes de job dedicados Cargas de trabalho em lote programadas Gerenciamento de código priorizado em relação ao gerenciamento de infraestrutura |
| Cluster | Ambientes compartilhados de longa duração Cargas de trabalho que exigem controle granular sobre a infraestrutura Migração de ambientes legados do Hadoop e do Spark |
principais diferenças
| Recurso | Implantação sem servidor | Implantação de cluster |
|---|---|---|
| Modelo de gerenciamento | Ambiente de execução totalmente gerenciado e sem servidor. | Baseado em cluster. Você provisiona e gerencia clusters. |
| Controle e personalização | Menos controle de infraestrutura, com foco no envio de código e na especificação de parâmetros do Spark. | Maior controle sobre a configuração do cluster, tipos de máquinas e software. Capacidade de usar VMs do Spot e reutilizar reservas e capacidade de recursos do Compute Engine. Adequado para cargas de trabalho que têm uma dependência de formatos de VM específicos, como arquiteturas de CPU. |
| Casos de uso | Consultas ad hoc, análises interativas, novos pipelines do Spark e cargas de trabalho com necessidades de recursos imprevisíveis. | Clusters compartilhados de longa duração, migração de cargas de trabalho atuais do Hadoop e do Spark com configurações personalizadas, cargas de trabalho que exigem personalização detalhada. |
| Trabalho operacional | Menor overhead. Google Cloud gerencia a infraestrutura, o escalonamento e o provisionamento, permitindo um modelo NoOps. O Gemini Cloud Assist facilita a solução de problemas, enquanto o ajuste automático sem servidor ajuda a oferecer a performance ideal. |
Maior overhead que exige gerenciamento, escalonamento e manutenção de clusters. |
| Modelo de eficiência | Sem overhead de computação inativa: alocação de recursos de computação somente quando o job está em execução. Sem custo de inicialização e desligamento. Sessões interativas compartilhadas com suporte para melhorar a eficiência. | Eficiência obtida pelo compartilhamento de clusters entre jobs e equipes, com um modelo de compartilhamento e multilocatário. |
| Controle de local | O Serviço Gerenciado para Apache Spark oferece suporte a cargas de trabalho regionais sem custo extra para oferecer mais confiabilidade e disponibilidade. | Os clusters são zonais. A zona pode ser selecionada automaticamente durante a criação do cluster. |
| Custo | Cobrança apenas pela duração da execução do job do Spark, sem incluir a inicialização e o encerramento, com base nos recursos consumidos. Cobrança como unidades de computação de dados (DCUs) usadas e outros custos de infraestrutura. | Cobrança pelo tempo de execução do cluster, incluindo a inicialização e o encerramento, com base no número de nós. Inclui a taxa de licença do Serviço Gerenciado para Apache Spark mais o custo de infraestrutura. |
| Descontos por uso contínuo (CUDs) | Os CUDs baseados em gastos do BigQuery se aplicam a jobs do Serviço Gerenciado para Apache Spark. | Os CUDs do Compute Engine se aplicam a todo o uso de recursos. |
| Controle de imagem e ambiente de execução | Os usuários podem fixar versões secundárias do ambiente de execução do Serviço Gerenciado para Apache Spark. As versões secundárias são gerenciadas pelo Serviço Gerenciado para Apache Spark. | Os usuários podem fixar versões secundárias e secundárias de imagens do Serviço Gerenciado para Apache Spark. |
| Gerenciamento de recursos | Sem servidor | YARN |
| Suporte a GPUs | Sim | Sim |
| Sessões interativas | Sim | Não |
| Contêineres personalizados | Sim | Não |
| Acesso à VM (SSH) | Não | Sim |
| Versões do Java | Java 17, 21 |
Versões anteriores com suporte |
| Tempo de inicialização | 50s | 120s |
Quando escolher a implantação sem servidor
A implantação sem servidor do Serviço Gerenciado para Apache Spark abstrai as complexidades do gerenciamento de clusters, permitindo que você se concentre no código do Spark. Isso o torna uma excelente opção para uso nos seguintes cenários de processamento de dados:
- Análise ad hoc e interativa:para cientistas e analistas de dados que executam consultas interativas e análises exploratórias usando o Spark, o modelo sem servidor oferece uma maneira rápida de começar sem se concentrar na infraestrutura.
- Aplicativos e pipelines baseados no Spark:ao criar novos pipelines ou aplicativos de dados no Spark, o Serviço Gerenciado para Apache Spark pode acelerar significativamente o desenvolvimento, removendo o trabalho operacional do gerenciamento de clusters.
- Cargas de trabalho com demanda esporádica ou imprevisível: para jobs do Spark intermitentes ou jobs com requisitos de recursos variáveis, o escalonamento automático sem servidor e o preço de pagamento por uso (as cobranças se aplicam ao consumo de recursos do job) podem reduzir significativamente os custos.
- Foco na produtividade do desenvolvedor:ao eliminar a necessidade de provisionamento e gerenciamento de clusters, o Serviço Gerenciado para Apache Spark acelera a criação de lógica de negócios, fornece insights mais rápidos e aumenta a produtividade.
- Operações simplificadas e overhead reduzido:o gerenciamento de infraestrutura do Serviço Gerenciado para Apache Spark reduz os custos e os encargos operacionais.
Quando escolher a implantação de cluster
É possível usar a implantação de cluster do Serviço Gerenciado para Apache Spark para executar o Apache Spark e outros frameworks de processamento de dados de código aberto. Ele oferece um alto grau de controle e flexibilidade, o que o torna a opção preferida nos seguintes cenários:
- Migração de cargas de trabalho atuais do Hadoop e do Spark: oferece suporte à migração de clusters do Hadoop ou do Spark no local para Google Cloud. Replique as configurações atuais com o mínimo de alterações no código, principalmente ao usar versões mais antigas do Spark.
- Personalização e controle detalhados:permite personalizar tipos de máquinas de cluster, tamanhos de disco e configurações de rede. Esse nível de controle é fundamental para o ajuste de performance e a otimização da utilização de recursos para jobs complexos e de longa duração.
- Clusters persistentes e de longa duração:oferece suporte a jobs do Spark contínuos e de longa duração e clusters persistentes para várias equipes e projetos.
- Ecossistema de código aberto diversificado:oferece um ambiente unificado para executar pipelines de processamento de dados que executam ferramentas do ecossistema Hadoop, como Hive, Pig ou Presto, com suas cargas de trabalho do Spark.
- Conformidade de segurança:permite o controle da infraestrutura para atender a padrões específicos de segurança ou conformidade, como a proteção de informações de identificação pessoal (PII) ou informações protegidas de saúde (PHI).
- Flexibilidade de infraestrutura:oferece VMs spot e a capacidade de reutilizar reservas e capacidade de recursos do Compute Engine para equilibrar o uso de recursos e facilitar sua estratégia de infraestrutura em nuvem.
Resumo
A decisão de usar o cluster do Serviço Gerenciado para Apache Spark ou a implantação sem servidor depende dos requisitos de carga de trabalho, das preferências operacionais e do nível de controle preferido.
- Escolha o Serviço Gerenciado para Apache Spark sem servidor pela facilidade de uso, custo-benefício para cargas de trabalho intermitentes e capacidade de acelerar o desenvolvimento de novos aplicativos do Spark, removendo o trabalho operacional do gerenciamento de infraestrutura.
- Escolha clusters do Serviço Gerenciado para Apache Spark quando precisar de controle máximo, migrar cargas de trabalho do Hadoop ou do Spark ou precisar de um ambiente de cluster compartilhado, persistente e personalizado.
Depois de avaliar os fatores listados nesta seção, selecione a implantação do Serviço Gerenciado para Apache Spark mais eficiente e econômica para executar o Spark e liberar todo o potencial dos seus dados.