Este é o quarto de uma série de artigos aqui no Blog da DSA sobre um dos melhores frameworks para processamento de dados de forma distribuída, o Apache Spark e sua utilização na nuvem com Databricks. Se está chegando agora, acesse o primeiro artigo da série aqui.

Essa série de artigos foi produzida por um dos alunos da DSA, Engenheiro de Dados, certificado em Spark e Databricks e matriculado em mais de 50 cursos em nosso portal. As informações de contato você encontra ao final do artigo.

Os artigos são de nível técnico e recomendamos alguma familiaridade com ambiente de processamento de Big Data antes de fazer a leitura. Temos uma introdução geral ao Apache Spark no curso gratuito Big Data Fundamentos e material completo no curso Big Data Real-Time Analytics com Python e Spark e Machine Learning e IA em Ambientes Distribuídos.

Boa leitura.


Podemos agora entrar em mais detalhes no funcionamento do Spark e criar nossos primeiros códigos em Python.

Assim que o driver é iniciado, ele configura uma instância de SparkContext.

O Spark Context já está pré-configurado e disponível como a variável sc. Ao executar um aplicativo Spark standalone enviando um arquivo jar ou usando a API Spark de outro programa, seu aplicativo Spark inicia e configura o Spark Context (contexto de execução do Spark, por exemplo, o Databricks).

Nota: Geralmente há um contexto Spark por JVM. Embora a opção de configuração spark.driver.allowMultipleContexts exista, ela é enganosa porque o uso de vários Spark Context é desencorajado. Esta opção é usada apenas para testes internos do Spark e recomendamos que você não use essa opção em seus programas de análise de dados. Se você fizer isso, poderá obter resultados inesperados ao executar mais de um Spark Contex em uma única JVM.

Um Spark Context vem com muitos métodos úteis para criar Dataframes e carregar dados (por exemplo spark.read.format(“csv”)) e é a interface principal para acessar o Spark em tempo de execução.

Ao executar um aplicativo Spark, devemos interagir com o cluster usando uma SparkSession.

Usando SparkSession, você pode acessar todos os contextos de baixo nível.

Um objeto SparkContext em SparkSession representa a conexão com o cluster Spark. Esta aula é como você se comunica com algumas das APIs de nível inferior do Spark, como RDDs (SparkSession pode ter suporte a contextos diferentes, como HiveContext, etc.)

O que é RDD?

Conjunto de dados resiliente distribuído ou RDD é uma abstração que a Spark fornece sobre dados distribuídos entre os nodes. Pense nisso como uma estrutura de dados distribuída

Acesse o Notebook disponível no Databricks com um exemplo prático completo:

 

 

Spark Context no Databricks

 

 

Continuaremos no próximo artigo da série.

Artigo Produzido por: Thomaz Antonio Rossito Neto

Databricks Engineer with Apache Spark™ 3.0
MBA em Ciência de Dados com Big Data
MCSE: Data Management and Analytics Microsoft
MCSA: Data Engineering with Azure Microsoft

Contatos:
Site Pessoal: www.thomazrossito.com.br