O que é Apache Spark?

O Apache Spark é um mecanismo de análise unificado para processamento de dados em grande escala com módulos integrados para SQL, streaming, machine learning e processamento de gráficos. O Spark pode ser executado no Kubernetes, em clusters independentes ou de forma nativa na nuvem, e em diversas fontes de dados. Ele oferece APIs avançadas em Java, Scala, Python (PySpark) e R, o que o torna acessível a uma ampla gama de desenvolvedores e cientistas de dados.

No Google Cloud, o Apache Spark é transformado em uma plataforma "de dados para IA" com o Serviço Gerenciado para Apache Spark. Ao aproveitar clusters gerenciados ou opções do Spark sem servidor e melhorias de desempenho inovadoras, como o Lightning Engine, o Google Cloud resolve o "tributo de ajuste" associado às implantações tradicionais do Spark. As integrações profundas em uma plataforma unificada de dados e IA permitem que os usuários passem de dados brutos para ações baseadas em IA mais rapidamente do que nunca.

Visão geral do Apache Spark

O ecossistema Spark inclui cinco componentes principais:

  • O Spark Core é um mecanismo de processamento de dados distribuído de uso geral. É o mecanismo de execução fundamental, que gerencia a distribuição descentralizada de tarefas, a programação e a E/S básica. O Spark Core implementou o conceito de conjuntos de dados distribuídos resilientes (RDDs, na sigla em inglês), coleções distribuídas imutáveis de objetos que podem ser processados em paralelo com tolerância a falhas. Além disso, há bibliotecas para SQL, processamento de stream, machine learning e computação gráfica, sendo que todas elas podem ser usadas juntas em um aplicativo.
  • O Spark SQL é o módulo do Spark para trabalhar com dados estruturados e implementou DataFrames, que fornecem uma API mais otimizada e fácil de usar para desenvolvedores em comparação com RDDs para manipulação de dados estruturados. Ele permite consultar dados estruturados dentro de programas Spark, usando SQL ou uma API DataFrame familiar. O Spark SQL aceita a sintaxe HiveQL e permite o acesso a armazenamentos existentes do Apache Hive. O Google Cloud acelera ainda mais o desempenho de jobs Spark, especialmente para SQL e operações de DataFrame, com inovações como o Lightning Engine, que oferece aumentos significativos na velocidade das consultas e tarefas de processamento de dados ao executar o Spark no Google Cloud.
  • O Spark Streaming facilita a criação de soluções de streaming escalonáveis e tolerantes a falhas. Ele traz a API integrada à linguagem Spark para o processamento de stream, para que você possa escrever jobs de streaming da mesma forma que os jobs em lote usando DStreams ou a nova API Structured Streaming criada com base em DataFrames. O Spark Streaming é compatível com Java, Scala e Python, e apresenta semânticas "exatamente uma vez" com estado, prontas para uso.
  • MLlib é a biblioteca de machine learning escalonável do Spark com ferramentas que tornam a ML prática escalonável e fácil. MLlib contém muitos algoritmos de aprendizado comuns, como classificação, regressão, recomendação e clustering. Também contém fluxos de trabalho e outros utilitários, incluindo transformações de recursos, construção de pipeline de ML, avaliação de modelo, álgebra linear distribuída e estatísticas. Quando combinados com a plataforma de agentes do Gemini Enterprise, é possível integrar totalmente os fluxos de trabalho do MLlib aos pipelines de MLOps e melhorar o desenvolvimento com o Gemini para programação e solução de problemas.
  • GraphX é a API Spark para gráficos e computação paralela a gráficos. É flexível e funciona perfeitamente com gráficos e coleções. Unifica extrair, transformar, carregar, análise exploratória, e computação gráfica iterativa em um sistema.

Ecossistema e componentes do Apache Spark

O ecossistema Spark inclui cinco componentes principais, cada um aprimorado pela infraestrutura do Google Cloud:

  • Spark Core: o mecanismo de execução fundamental, que gerencia a distribuição descentralizada de tarefas e a E/S. Ele introduziu os conjuntos de dados distribuídos resilientes (RDDs), coleções distribuídas imutáveis de objetos processados em paralelo com tolerância a falhas.
  • Spark SQL: o módulo para trabalhar com dados estruturados usando DataFrames. O Google Cloud acelera ainda mais essas operações com o Lightning Engine, oferecendo aumentos significativos na velocidade sem a necessidade de ajustes manuais.
  • Spark Streaming: permite soluções de streaming escalonáveis e tolerantes a falhas para jobs em lote e em tempo real.
  • MLlib: uma biblioteca de machine learning escalonável. Quando combinados com a plataforma de agentes do Gemini Enterprise, é possível integrar totalmente os fluxos de trabalho do MLlib aos pipelines de MLOps e melhorar o desenvolvimento com o Gemini para programação e solução de problemas.
  • GraphX: a API para gráficos e computação paralela a gráficos.

Quais são os benefícios do Apache Spark?

Velocidade

O processamento na memória e o programador de DAG do Spark permitem cargas de trabalho mais rápidas do que os mecanismos de processamento baseados em disco, especialmente para tarefas iterativas. O Google Cloud aumenta essa velocidade com uma infraestrutura otimizada e o Lightning Engine.

Facilidade de uso

Os operadores de alto nível do Spark simplificam a criação de aplicativos paralelos. O uso interativo com Scala, Python, R e SQL permite um desenvolvimento rápido. O Google Cloud tem opções sem servidor e notebooks integrados com o Gemini.

Escalonabilidade

O Spark oferece escalonabilidade horizontal, processando grandes quantidades de dados ao distribuir o trabalho entre os nós do cluster. O Google Cloud simplifica o escalonamento com o escalonamento automático sem servidor e os clusters gerenciados flexíveis.

Generalidade

O Spark capacita uma pilha de bibliotecas, incluindo SQL e DataFrames, MLlib para machine learning, GraphX e Spark Streaming. É possível combinar essas bibliotecas perfeitamente no mesmo aplicativo.

Inovações do framework de código aberto

O Spark usa o potencial das comunidades de código aberto para inovar e resolver problemas com rapidez. O Google Cloud adota esse espírito aberto, oferecendo o Apache Spark padrão com recursos aprimorados.

Por que escolher o Spark em vez de um mecanismo somente SQL?

O Apache Spark é um mecanismo de computação de cluster ou sem servidor rápido e de uso geral. Com o Spark, os programadores podem escrever aplicativos rapidamente em Java, Scala, Python, R e SQL, o que o torna acessível a desenvolvedores, cientistas de dados e executivos avançados com experiência em estatística. Ao usar o Spark SQL, os usuários podem se conectar a qualquer fonte de dados e apresentá-la como tabelas a serem consumidas por clientes SQL. Além disso, algoritmos interativos de machine learning são facilmente implementados no Spark.

Com um mecanismo somente SQL como o Apache Impala, Apache Hive, ou Apache Drill, os usuários só podem usar SQL ou linguagens semelhantes a SQL para consultar dados armazenados em vários bancos de dados. Isso significa que os frameworks são menores em comparação com o Spark. No entanto, no Google Cloud, você não precisa fazer uma escolha estrita: o BigQuery oferece recursos SQL avançados e o Serviço Gerenciado para Apache Spark permite que você use a versatilidade do Spark nos mesmos dados com o Lakehouse e formatos abertos como o Apache Iceberg.

Como as empresas estão usando o Spark?

Muitas empresas estão usando o Spark para ajudar a simplificar a tarefa desafiadora e com uso intensivo de computação de processamento e análise de grandes volumes de dados em tempo real ou arquivados, tanto estruturados quanto não estruturados. O Spark também permite que os usuários integrem perfeitamente recursos complexos relevantes, como machine learning e algoritmos de gráfico. As aplicações comuns incluem:

  • ETL/ELT em grande escala
  • Processamento de dados em tempo real
  • Machine learning
  • análise de dados interativa
  • Análise de gráficos

Engenheiros de dados

Os engenheiros de dados contam com o Spark para arquitetar, criar e manter pipelines de processamento de dados robustos e fluxos de trabalho de ETL em grande escala. No Google Cloud, os engenheiros de dados podem usar o Serviço Gerenciado para Apache Spark para eliminar tarefas repetitivas de infraestrutura, escolhendo entre a execução sem servidor e sem operações ou clusters totalmente gerenciados. Ao se integrar perfeitamente ao BigQuery e ao Knowledge Catalog, os engenheiros podem criar arquiteturas de lakehouse abertas e governadas usando formatos como o Apache Iceberg. Além disso, com a ajuda dos agentes de dados e do Gemini, eles podem automatizar a preparação de dados e acelerar a geração de código PySpark, passando de dados brutos para pipelines prontos para produção mais rápido do que nunca.

Cientistas de dados

Os cientistas de dados podem ter uma experiência mais rica com análises e ML usando o Spark com GPUs. A capacidade de processar volumes maiores de dados mais rápido com uma linguagem familiar pode ajudar a acelerar a inovação. O Google Cloud oferece suporte robusto de GPU para o Spark e integração total com a plataforma de agentes do Gemini Enterprise, permitindo que cientistas de dados criem e implantem modelos com mais rapidez. Eles podem conectar os IDEs de sua preferência, como o Jupyter ou o VS Code, para uma experiência de desenvolvimento flexível. Combinado com o Gemini, isso acelera o fluxo de trabalho desde a análise inicial até a implantação na produção.

Há uma maneira melhor de usar o Spark no Google Cloud

A nova maneira de usar o Spark com mais facilidade, inteligência e rapidez

O Google Cloud resolve os desafios comuns da execução do Spark em escala para que você possa se concentrar nos insights, não na infraestrutura. Otimize sua experiência com o Serviço Gerenciado para Apache Spark. Serviço Gerenciado para Apache Spark:

  • Opções de implantação flexíveis: escolha o ambiente certo para sua carga de trabalho. Elimine a sobrecarga operacional com o Spark sem servidor e sem operações ou mantenha o controle detalhado com clusters totalmente gerenciados.
  • Desempenho líder do setor: acelere suas cargas de trabalho de ETL e ciência de dados mais exigentes em até 4,9 vezes com o Lightning Engine. Disponível para clusters gerenciados e sem servidor, ele reduz os custos de computação e elimina a necessidade de ajustes manuais sem alterações no código.
  • Desenvolvimento unificado no seu ambiente de desenvolvimento integrado preferido: crie e execute código Spark diretamente no seu ambiente preferido, seja VS Code, Jupyter ou outros. Aproveite uma experiência integrada entre SQL e Spark nos mesmos dados governados sem precisar mudar de contexto.
  • Desenvolvimento de IA agêntica: acelere seu fluxo de trabalho com agentes de dados que automatizam a programação em PySpark e a preparação de dados. Aproveite o Gemini Cloud Assist para análise automatizada de causa raiz e solução de problemas de jobs complexos.
  • Governança unificada: use o Knowledge Catalog para gerenciar a governança de dados e IA, fornecendo semântica para agentes e garantindo um ciclo de vida de dados consistente, desde a ingestão até insights baseados em IA.

Outros recursos

Vá além

Comece a criar no Google Cloud com US$ 300 em créditos e mais de 20 produtos, tudo isso sem custo financeiro.

Google Cloud