Apache Spark: O melhor amigo do engenheiro de dados.

Denis Oliveira
4 min readNov 27, 2022

--

Um notebook no colo de um Engenheiro de dados utilizando Apache Spark

Os engenheiros de dados geralmente trabalham com múltiplas fontes de dados e realizam um trabalho complexo, difícil e por vezes tedioso, porem, necessário para tornar os pipelines de dados operacionais. O trabalho deles é colocar os dados em um formato em que outras pessoas, como cientistas de dados e analistas de dados, possam extrair valor dos dados.

O Spark se tornou o kit de ferramentas muito utilizado pelos engenheiros de dados porque simplifica o ambiente de trabalho fornecendo uma plataforma para organizar e executar pipelines de dados complexos em conjunto de ferramentas poderosas para armazenar, recuperar e transformar dados.

O Spark não faz tudo, e há muitas ferramentas importantes fora do Spark que os engenheiros de dados adoram. Entretanto essa ferramenta fornece um ambiente unificado que aceita dados em muitas formas diferentes, passando um conjunto de dados de uma etapa para a seguinte. Fazer isso bem significa que você pode criar soluções escaláveis e robustas de dados.

O que faz o Apache Spark ser tão especial.

Oferece aos engenheiros de dados uma grande elasticidade e flexibilidade ao desempenhar seu trabalho. Por utilizar uma abordagem orientada por API, engenheiros que utilizam o Apache Spark possuem ampla variedade de ferramentas a seu dispor.

Algumas das principais características do Spark são:

Ampla gama de conectores.

Engenheiro de dados precisam de uma estrutura que seja capaz de ler uma ampla variedade de fontes de dados, como arquivos em um sistema de arquivos distribuído, registros de um banco de dados relacional ou um armazenamento de colunas ou até mesmo um armazenamento de chave e valores. O spark possui diversos tipos de conectores com as principais fontes de dados do mercado.

Ampla e extensível gama de transformações.

O Spark oferece transformações típicas tais como transformações simples em colunas, operações de string, filtragem, junções e agregações agrupadas, tudo o que é oferecido pelo SQL tradicional. Além disso, a plataforma oferece uma API limpa e simples para estender o conjunto de transformações, especificamente as transformações em coluna. Isso é importante para implementar lógica personalizada que não pode ser implementada com a funcionalidade principal.

Escalabilidade.

Esta é uma das maiores vantagens do Apache Spark. Pelo fato de rodar em cluster ele pode processar grandes volumes de dados de forma eficiente. Além disso, a plataforma é capaz de processar dados em tempo real, tornando-se ainda mais útil para aplicações em larga escala.

Entendendo um pouco mais sobre o Apache Spark:

O Apache Spark é uma plataforma de computação em cluster open-source que foi originalmente desenvolvida na Universidade de Berkeley nos Estados Unidos. Tem por objetivo fornecer um framework unificado para processamento de dados em larga escala, permitindo que os usuários executem aplicações mais eficientemente. Spark fornece suporte a vários paradigmas de programação, tais como SQL e stream processing. A plataforma é baseada em uma arquitetura de software distribuído que permite que ela seja executada em qualquer lugar, desde laptops até clusters de centenas ou milhares de nós.

O Apache Spark tem sua base arquitetônica no conjunto de dados distribuído resiliente (RDD), um imutável multiconjunto de dados distribuídos em um cluster, que é mantido de maneira tolerante a falhas. A API Dataframe foi lançada como uma abstração sobre o RDD, seguida pela API Dataset.

História das APIs do Apache Spark.
source: https://www.databricks.com/glossary/what-is-rdd

Dentro do Apache Spark, o fluxo de trabalho é gerenciado como um gráfico acíclico direcionado (DAG). Os nós representam RDDs enquanto as arestas representam as operações nos RDDs.

Visão de uma DAG.

Conclusão

Como vimos, o Apache Spark é um poderoso engine de processamento de dados, que se destaca pelas suas capacidades de escalabilidade e performance. Além de ser extremamente fácil de usar. Apache Spark é sem dúvida, atualmente, o melhor amigo do engenheiro de dados, graças às suas incríveis funcionalidades.

Espero que este artigo tenha lhe ajudado a entender um pouco melhor essa poderosa ferramenta. Me conta aqui, você utiliza essa ferramenta ou acaba de conhecê-la? Aguardo seu feedback!

--

--