O Serviço Gerenciado para Apache Spark agora inclui as opções de produto "Dataproc no Compute Engine" (implantação de cluster) e "Google Cloud Serverless para Apache Spark" (implantação sem servidor) anteriores.
Embora as duas 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 para formatos de dados, elas diferem na forma como gerenciam a infraestrutura subjacente e cobram pelos recursos. Confira os recursos e casos de uso a seguir para escolher uma solução do Spark.
Para mais informações sobre 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 | 50 s | 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 qual é 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 variam 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 um serviço, executando o Spark em uma infraestrutura Google Cloud totalmente gerenciada. Você paga pelo tempo de execução do job.
- Implantação de cluster:oferece clusters do Spark como um serviço, executando o Spark gerenciado na sua 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 aos seguintes casos de uso:
| Implantação | Casos de uso |
|---|---|
| sem servidor | Diferentes ambientes de job dedicados Cargas de trabalho em lote programadas Prioridade para gerenciamento de código em vez de gerenciamento de infraestrutura |
| cluster | Ambientes compartilhados e 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 sem servidor totalmente gerenciado. | 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. | Mais controle sobre a configuração do cluster, tipos de máquinas e software. Capacidade de usar VMs 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 | Redução da sobrecarga.O 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 o desempenho ideal. |
Maior overhead que exige gerenciamento, escalonamento e manutenção de clusters. |
| Modelo de eficiência | Sem sobrecarga de computação ociosa: alocação de recursos de computação apenas quando o job está em execução. Sem custo de inicialização e desligamento. Sessões interativas compartilhadas para melhorar a eficiência. | Eficiência obtida ao compartilhar clusters entre jobs e equipes com um modelo de multilocação. |
| Controle de localização | O Serviço Gerenciado para Apache Spark oferece suporte a cargas de trabalho regionais sem custo extra para aumentar a confiabilidade e a 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 inicialização e encerramento, com base nos recursos consumidos. Cobrança como unidades de computação de dados (DCU) usadas e outros custos de infraestrutura. | O faturamento é feito pelo tempo em que o cluster está em execução, incluindo inicialização e encerramento, com base no número de nós. Inclui a taxa de licença do Serviço Gerenciado para Apache Spark e 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 tempo 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 subalternas são gerenciadas pelo Serviço Gerenciado para Apache Spark. | Os usuários podem fixar versões secundárias e subalternas de imagens do Serviço Gerenciado para Apache Spark. |
| Gerenciamento de recursos | sem servidor | YARN |
| Suporte a GPU | 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 compatíveis |
| Tempo de inicialização | 50 s | 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 Spark. Isso o torna uma excelente opção para uso nos seguintes cenários de tratamento de dados:
- Análise interativa e ad hoc: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 a sobrecarga operacional do gerenciamento de clusters.
- Cargas de trabalho com demanda esporádica ou imprevisível:para jobs do Spark intermitentes ou com requisitos de recursos variáveis, o escalonamento automático sem servidor e o preço 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, oferece insights mais rápidos e aumenta a produtividade.
- Operações simplificadas e sobrecarga reduzida:o gerenciamento da infraestrutura do Serviço Gerenciado para Apache Spark reduz os custos e as dificuldades operacionais.
Quando escolher a implantação de cluster
É possível usar a implantação de clusters 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, sendo a opção preferida nos seguintes cenários:
- Migração de cargas de trabalho atuais do Hadoop e do Spark:permite migrar clusters locais do Hadoop ou do Spark para o Google Cloud. Replique as configurações atuais com mudanças mínimas no código, principalmente ao usar versões mais antigas do Spark.
- Personalização e controle avançados:permite personalizar tipos de máquinas de cluster, tamanhos de disco e configurações de rede. Esse nível de controle é essencial para o ajuste de desempenho e a otimização da utilização de recursos em jobs complexos e de longa duração.
- Clusters persistentes e de longa duração:oferecem suporte a jobs do Spark contínuos e de longa duração e a clusters persistentes para várias equipes e projetos.
- Ecossistema de código aberto diversificado:oferece um ambiente unificado para executar pipelines de tratamento de dados com ferramentas do ecossistema Hadoop, como Hive, Pig ou Presto, com suas cargas de trabalho do Spark.
- Conformidade com a segurança:permite o controle da infraestrutura para atender a padrões específicos de segurança ou compliance, como a proteção de informações de identificação pessoal (PII) ou informações protegidas de saúde (PHI).
- Flexibilidade da 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.
Resumindo
A decisão de usar o cluster do Serviço Gerenciado para Apache Spark ou a implantação sem servidor depende dos requisitos da carga de trabalho, das preferências operacionais e do nível de controle desejado.
- 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 Spark, removendo a sobrecarga 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 persistente, personalizado e compartilhado.
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 aproveitar todo o potencial dos seus dados.