Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Aprenda Introdução aos DataFrames do Spark | Trabalhando com Dados
Fundamentos do Databricks: Um Guia para Iniciantes

Introdução aos DataFrames do Spark

Deslize para mostrar o menu

Note
Definição

Um Spark DataFrame é uma coleção distribuída de dados organizada em colunas nomeadas. Conceitualmente, é equivalente a uma tabela em um banco de dados relacional ou a uma planilha com cabeçalhos de coluna, mas foi projetado para ser processado em um cluster de computadores.

Ao avançar para a Seção 4, o foco muda da interface para os próprios dados. Para trabalhar de forma eficiente no Databricks, é fundamental compreender o DataFrame. Essa é a estrutura básica utilizada pelo Apache Spark para armazenar e manipular dados. Seja utilizando Python, SQL ou Scala, quase todas as operações envolvem a interação com um DataFrame.

Existe também uma interface Py Spark que será utilizada posteriormente.

Apache Spark é um mecanismo poderoso para processar grandes volumes de dados em paralelo, distribuídos por vários computadores ao mesmo tempo. Ele é escrito em Scala e é o responsável pelo processamento intenso nos bastidores do Databricks.

PySpark é simplesmente a interface em Python para o Spark. Ela permite escrever códigos em Python que, na verdade, instruem o Spark sobre o que deve ser feito por trás das cortinas.

Portanto, ao escrever um df.filter() ou df.groupBy() em um notebook do Databricks, você está utilizando PySpark — mas é o Spark que realmente processa milhões de linhas no seu cluster.

A Analogia da Planilha

A maneira mais fácil de visualizar um DataFrame é pensar em uma única aba de uma planilha do Excel. Ele possui linhas de dados e colunas com nomes específicos como "Date", "Product_ID" ou "Price". No entanto, diferente de uma planilha do Excel que está no seu computador, um DataFrame do Spark é distribuído. Isso significa que, se seu conjunto de dados for grande demais para um único computador, o Spark divide a "planilha" em partes menores e as distribui entre os diferentes nós do seu cluster.

Por que usar DataFrames em vez de arquivos brutos?

Quando você lê um arquivo CSV ou JSON bruto em um DataFrame, o Databricks realiza duas ações importantes:

  • Inferência de Esquema: analisa os dados para entender que "Price" é um número e "Name" é um texto;
  • Otimização: uma vez que os dados estão em um DataFrame, o Spark pode usar seu "otimizador" para encontrar a maneira mais rápida de filtrar ou agregar esses dados. Ele funciona como um GPS, encontrando a rota mais eficiente para o seu resultado, evitando desperdício de poder computacional.

Características Principais

Existem três características principais dos DataFrames que você deve lembrar:

  • Imutável: uma vez criado, um DataFrame não pode ser alterado. Se você "limpar" os dados ou "remover uma coluna", o Spark na verdade cria um novo DataFrame com essas alterações aplicadas. Isso garante a integridade dos dados;
  • Avaliação Preguiçosa: o Spark não executa nenhuma operação até que você solicite um resultado (como uma contagem ou exibição). Ele primeiro constrói um "plano" e só o executa quando realmente necessário;
  • API Unificada: é possível criar um DataFrame com Python e depois consultá-lo usando SQL. A estrutura subjacente permanece a mesma, permitindo a "mistura de linguagens" praticada na Seção 3.

DataFrames vs. Tabelas

No Databricks, os termos "Tabela" e "DataFrame" são frequentemente usados como sinônimos, mas existe uma pequena diferença. Uma Tabela é um objeto permanente salvo no seu Catálogo. Um DataFrame é um objeto temporário que reside na memória do cluster enquanto seu notebook está em execução.

Normalmente, o fluxo de trabalho será:

  • Carregar dados do Catálogo em um DataFrame;
  • Manipular o DataFrame usando código;
  • Salvar o resultado final de volta no Catálogo como uma Tabela.

1. Como um Spark DataFrame lida com um conjunto de dados que é grande demais para um único computador?

2. O que acontece quando você "modifica" um DataFrame no Spark, como ao remover uma coluna?

question mark

Como um Spark DataFrame lida com um conjunto de dados que é grande demais para um único computador?

Selecione a resposta correta

question mark

O que acontece quando você "modifica" um DataFrame no Spark, como ao remover uma coluna?

Selecione a resposta correta

Tudo estava claro?

Como podemos melhorá-lo?

Obrigado pelo seu feedback!

Seção 4. Capítulo 1

Pergunte à IA

expand

Pergunte à IA

ChatGPT

Pergunte o que quiser ou experimente uma das perguntas sugeridas para iniciar nosso bate-papo

Seção 4. Capítulo 1
some-alt