2 de junho, 2024
  • By Wallace Camargo
  • / spark

logo Spark

Apache Spark é um framework open source para computação distribuída, capaz de processar grandes conjuntos de dados.

E o que é computação distribuída?

A computação distribuída é a forma encontrada de conectar diversos computadores e dividir o processamento entre as máquinas, ou seja, é possível dividir uma grande tarefa em pequenas etapas no seu conjunto de máquinas, no final ele junta todos os pedaços e entrega o processamento completo.

Onde ele pode ser encontrado?

Ele pode ser utilizado em plataformas de dados como o Databricks, Microsoft Fabric, Google Colab, localmente ou como serviço gerenciado nas principais clouds.

Quais empresas utilizam o Spark? 

O cenário ideal para trabalhar com o Spark é o cenário de Big Data, ou seja, organizações que possuem grandes volumes de dados, tais como: Pic Pay, Bradesco, Ifood, dentre outras.

Fonte: https://www.databricks.com/br/customers

O Spark oferece suporte a várias linguagens de programação, incluindo Scala, Java, Python, SQL e R, tornando-o a uma das ferramentas mais utilizadas para processamento de dados. Podemos ver a seguir exemplos de scripts com a finalidade de fazer apenas um “hello world”:

Pyspark – Versão Python para Spark

Linguagem Scala – Linguagem nativa do Spark

Apesar de ser suportado em várias linguagens com a possibilidade de transitar entre elas no mesmo mesmo script, as linguagens mais utilizadas no Spark são Python e SQL. No início a adoção dessas linguagens eram baixas por conta da perfomance que era superior em sua linguagem nativa (Scala), mas hoje não há diferença significativa na maioria dos casos e a perfomance é basicamente a mesma em todas as linguagens.

O Spark foi amplamente adotado no cenário de Big Data por conta das suas principais características, tais como:

  1. Computação em Memória: O Spark permite que os dados sejam armazenados em memória, o que agiliza o acesso e o processamento dos dados. Isso é especialmente útil para operações iterativas e análises interativas que requerem acesso rápido aos dados.
  2. Suporte a Diversos Workloads: O Spark é projetado para suportar uma ampla variedade de workloads, incluindo processamento em batch, streaming, machine learning, processamento de grafos e consultas interativas. Isso o torna uma ferramenta versátil para diferentes tipos de aplicativos de big data.
  3. Escalabilidade: O Spark é altamente escalável e pode ser facilmente dimensionado horizontalmente para lidar com grandes volumes de dados. Ele distribui automaticamente o processamento e os dados em um cluster de computadores, permitindo que ele cresça conforme a demanda.

Essas características fazem do Apache Spark uma escolha popular para empresas e organizações que lidam com grandes volumes de dados e buscam uma solução eficiente e escalável para processamento e análise de big data.

Casos de uso

Os scripts podem ser utilizados basicamente em dois formatos, tais como:

1 – Modo submit

2 – Modo de notebook

Obrigado e até o próximo artigo!

Wallace Camargo.

Deixe um comentário

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *

Translate »