Curso
Primeiro vieram os data warehouses. Eles armazenavam dados em linhas e colunas porque, na época, a Internet e os computadores só conseguiam distribuir informações em texto simples. Muito depois surgiram os data lakes — capazes de guardar praticamente qualquer tipo de dado que você conseguisse coletar. Eles foram perfeitos para a era das redes sociais e do YouTube.
Mas ambos tinham desvantagens — data warehouses eram caros e pouco adequados para a ciência de dados moderna, enquanto data lakes eram bagunçados e muitas vezes viravam verdadeiros pântanos de dados. Com isso, as empresas passaram a ter dois stacks de tecnologia separados — warehouses para BI e analytics e lakes para machine learning.
No entanto, gerenciar duas arquiteturas de dados diferentes era tão trabalhoso que os resultados muitas vezes ficavam aquém. Esse problema deu origem à arquitetura lakehouse, justamente o que tornou a Databricks famosa.
Databricks é uma plataforma em nuvem que permite extrair valor de warehouses e lakes em um ambiente unificado. Este artigo traz uma visão geral da plataforma, mostrando seus recursos mais importantes e como usá-los.
o que vamos ver neste tutorial de Databricks
Databricks é uma plataforma tão abrangente que a própria documentação daria um livro. Por isso, o objetivo deste artigo é oferecer uma hierarquia de conceitos — uma sequência de explicações sobre os recursos do Databricks que leva você do zero até um bom nível de prática. Se você está começando do absoluto início, vale conferir também nosso curso Introduction to Databricks.
Vamos lá!
1. o que é Databricks?
Ao ler a palavra Databricks, pense imediatamente em uma plataforma, não em um framework ou biblioteca Python. Normalmente, plataformas oferecem uma gama ampla de recursos, e com Databricks não é diferente. É uma das poucas plataformas que podem ser usadas por qualquer profissional de dados, de engenheiros de dados a engenheiros de machine learning modernos (ou, como a mídia gosta de chamar hoje, programadores de IA).
Databricks tem os seguintes componentes centrais:
- Workspace: o Databricks oferece um ambiente centralizado onde os times colaboram sem atrito. O acesso é feito por uma interface web amigável.
- Notebooks: uma versão de notebooks Jupyter pensada para colaboração e flexibilidade.
- Apache Spark: o Databricks é apaixonado por Apache Spark. É o motor que impulsiona todo o processamento paralelo de conjuntos de dados gigantes, ideal para analytics de big data.
- Delta Lake: um aprimoramento dos data lakes ao fornecer transações ACID. O Delta Lake garante confiabilidade e consistência dos dados, resolvendo problemas clássicos dos lakes.
- Escalabilidade: a plataforma escala horizontalmente (e não verticalmente), o que é ideal para organizações com demandas de dados em constante crescimento.
benefícios do Databricks
Esses componentes, combinados, desbloqueiam uma série de benefícios:
- Colaboração entre times: engenheiros, analistas, cientistas e ML engineers trabalham sem barreiras na mesma plataforma.
- Consistência: com notebooks, você alterna entre tarefas e linguagens de programação sem precisar trocar de contexto.
- Fluxos de trabalho eficientes: é possível executar, de forma integrada, tarefas como limpeza, transformação e machine learning
- Gestão de dados integrada: você pode ingerir dados de múltiplas fontes, criar tabelas e executar SQL
- Colaboração em tempo real: notebooks compartilhados e edição colaborativa permitem trabalho simultâneo no mesmo notebook.
Se eu consegui convencer você da importância do Databricks no mundo de dados, vamos colocar a plataforma para rodar.
2. configuração da conta
Para configurar sua conta, acesse https://www.databricks.com/try-databricks e inscreva-se na Community Edition.

A Community Edition tem menos recursos que a Enterprise, mas não exige configuração de provedor de nuvem, o que é ótimo para usos simples como tutoriais.
Se esta página aparecer após a verificação de e-mail, está tudo certo:

3. workspace do Databricks
A interface que você viu é o Workspace associado ao seu e-mail (o workspace da Community Edition é fácil de encontrar). Na prática, normalmente um administrador da sua empresa cria uma conta única do Databricks e gerencia o acesso ao workspace.
Agora, vamos entender o UI da plataforma. No painel esquerdo, fica o menu com os diferentes componentes do Databricks. A versão enterprise terá ainda mais opções:

A primeira opção do menu é o tipo de workspace, que por padrão é data science and engineering. Se você mudar para machine learning, aparece uma nova opção de Experiments:

À primeira vista pode parecer que não muda muita coisa, mas quando você faz upgrade da conta e começa a explorar, percebe alguns ótimos recursos da plataforma:
- Hub central de recursos: notebooks, clusters, tabelas, bibliotecas e dashboards
- Notebooks em múltiplas linguagens
- Gestão de clusters: administrar recursos computacionais do workspace para executar código
- Gestão de tabelas
- Criação de dashboards: usuários podem reunir visualizações em dashboards dentro do próprio workspace
- Edição colaborativa em tempo real de notebooks
- Controle de versão para notebooks
- Agendamento de jobs (um recurso poderoso): executar notebooks e scripts em intervalos definidos
e por aí vai.
Agora, vamos analisar alguns desses componentes com mais atenção.
4. clusters do Databricks
Clusters no Databricks são os recursos computacionais usados para executar tarefas de processamento de dados. Em geral, os clusters são providos pelo provedor de nuvem escolhido durante a configuração da conta.
Na Community Edition, os clusters são limitados em RAM e CPU, e não incluem GPUs. Já usuários premium costumam conseguir fazer o seguinte de forma simples:
- Processamento de dados: clusters processam e transformam grandes volumes de dados usando o poder de processamento paralelo do Spark.
- Machine learning: você pode usar Python (ou outra linguagem) e suas bibliotecas para treino e inferência de modelos.
- Workflows de ETL: clusters também suportam fluxos de Extract, Transform, Load, processando e transformando dados com eficiência da fonte ao destino.
Para criar um cluster, use o botão “Create” ou a opção “Compute” no menu:

Ao criar o cluster, escolha uma versão adequada do Spark para o seu ambiente e aguarde alguns minutos até ficar operacional.
5. notebooks do Databricks
Com um cluster em execução, você já pode criar notebooks. Se você já usou Jupyter, Colab ou o DataCamp Workspaces, o formato será familiar:

Mas, num mundo em que existe o Jupyter tradicional, por que usar algo “parecido com o Jupyter”? Bem, os notebooks do Databricks têm estas vantagens sobre os notebooks Jupyter:
- Colaboração: recursos nativos permitem que várias pessoas trabalhem no mesmo notebook ao mesmo tempo. As mudanças são rastreadas em tempo real.
- Ambiente de execução: muitos provedores de Jupyter (ou instâncias locais) rodam em máquinas únicas com hardware pré-definido. O usuário precisa instalar bibliotecas e dependências por conta própria. Já os notebooks do Databricks são alimentados por clusters, que gerenciam recursos e escala automaticamente conforme a carga. Eles também vêm com ambientes pré-configurados.
- Integração com Big Data: Jupyter pode funcionar com Apache Spark, mas o usuário precisa gerenciar sessões e dependências manualmente. Como a Databricks foi fundada pelos criadores do Spark, o suporte é nativo. Sessões do Spark e clusters são gerenciados automaticamente pela plataforma.
Há muitas outras vantagens dos notebooks do Databricks em relação ao Jupyter; a tabela abaixo resume as diferenças:
|
Recurso |
Jupyter Notebooks |
Databricks Notebooks |
|
Plataforma |
Open source, roda localmente ou em nuvem |
Exclusivo da plataforma Databricks |
|
Colaboração e compartilhamento |
Recursos limitados de colaboração, compartilhamento manual |
Colaboração nativa, edição simultânea em tempo real |
|
Execução |
Depende de máquinas locais ou servidores externos |
Execução em clusters do Databricks |
|
Integração com Big Data |
Pode integrar com Spark, requer configurações adicionais |
Integração nativa com Apache Spark, otimizado para big data |
|
Recursos nativos |
Ferramentas/extensões externas para versionamento, colaboração e visualização |
Integração com recursos específicos do Databricks como Delta Lake e suporte nativo a colaboração e ferramentas de analytics |
|
Custo e escalabilidade |
Instalações locais costumam ser gratuitas; soluções em nuvem podem ter custos |
Serviço pago, custo depende do uso; escala de forma transparente com clusters do Databricks |
|
Facilidade de uso |
Familiar e amplamente usado na comunidade de data science |
Voltado para big data analytics; alguns recursos específicos podem ter curva de aprendizado maior |
|
Visualização de dados |
Suporte nativo limitado |
Suporte nativo à visualização dentro do notebook |
|
Gestão de cluster |
Usuário gerencia sessões do Spark e dependências manualmente |
A plataforma Databricks gerencia clusters e escala automaticamente |
|
Casos de uso |
Versátil para várias tarefas de ciência de dados |
Especializado em analytics colaborativo de big data dentro do Databricks |
No fim das contas, as vantagens dos notebooks do Databricks aparecem em casos específicos. Se você quer brincar com um CSV no Pandas no seu laptop, o Jupyter é bem melhor.
Mas, para aplicações em nível corporativo, o Databricks como plataforma tende a ser a melhor opção.
6. ingestão de dados no Databricks
Ingestão de dados é o processo de importar dados de várias fontes. O Databricks dá suporte a ingestão de:
- AWS S3
- Azure Blob Storage
- Google Cloud Storage
- Bancos relacionais (MySQL, PostgreSQL etc.)
- Data lakes (Delta Lake, Parquet, Avro etc.)
- Plataformas de streaming (Apache Kafka)
- Google BigQuery
- Aquele arquivo CSV local que você tem aí
e muito mais.
Agora, vamos ver na prática como carregar alguns tipos de dados no Databricks. Começamos com arquivos locais:

Depois de seguir os passos do GIF, o arquivo ficará armazenado no workspace. Veja como carregá-lo com Spark:
# Importing necessary libraries
from pyspark.sql import SparkSession
# Creating a Spark session
spark = SparkSession.builder.appName("S3ImportExample").getOrCreate()
# Defining the CSV path to the data
path = "dbfs:/FileStore/tables/diamonds.csv"
# Reading data from S3 into a DataFrame
data_from_s3 = spark.read.csv(path, header=True, inferSchema=True)
# Displaying the imported data
data_from_s3.show()
Repare no prefixo dbfs:. Todos os arquivos do workspace precisam incluí-lo para que o Spark carregue o arquivo corretamente. DBFS significa Databricks File System.
Importar dados de um bucket S3 é semelhante (para contas enterprise):
# Importing necessary libraries
from pyspark.sql import SparkSession
# Creating a Spark session
spark = SparkSession.builder.appName("S3ImportExample").getOrCreate()
# Defining the S3 path to the data
s3_path = "s3://your-bucket/your-data.csv"
# Reading data from S3 into a DataFrame
data_from_s3 = spark.read.csv(s3_path, header=True, inferSchema=True)
# Displaying the imported data
data_from_s3.show()
Para outros tipos de dados, consulte as seções Data engineering e Connect to data sources da documentação do Databricks.
7. executando SQL no Databricks
Quando fizemos upload do arquivo diamonds.csv, ele virou uma tabela do Databricks em um banco chamado default:

Esse banco default é criado sempre que tentamos carregar arquivos estruturados sem criar o banco antes.
Se temos um banco, dá para consultá-lo com SQL, não apenas com Spark. Para isso, crie um novo notebook ou mude a linguagem do notebook atual para SQL. Depois, rode este trecho:
SELECT * FROM default.diamonds_1_csv
LIMIT 5;
Ele deve retornar as cinco primeiras linhas da tabela diamonds:

Observação: estou usando um notebook SQL no snippet acima
Você também pode carregar essa tabela no Pandas. No mesmo notebook, cole este código:
%python
# Import the necessary libraries
import pandas as pd
# Assuming 'default' is the database name and 'diamonds' is the table name
# Use the spark.sql function to query the table and retrieve the data
table_df = spark.sql("SELECT * FROM default.diamonds_1_csv")
# Convert the Spark DataFrame to a Pandas DataFrame
pandas_df = table_df.toPandas()
# Display the Pandas DataFrame
pandas_df.head()
Isso vai imprimir o head da tabela:

Agora você pode fazer qualquer análise típica na tabela usando tanto SQL quanto Pandas.
conclusão e próximos passos
Usando apenas a conta básica da Community Edition, já deu para aprender e fazer bastante coisa no Databricks. Para continuar, o primeiro passo é aproveitar o teste gratuito de duas semanas que o Databricks oferece para contas premium.
Depois, você pode tirar o máximo das aulas do curso Introduction to Databricks da DataCamp. Além da configuração de conta, você vai aprender e praticar estes recursos essenciais do Databricks:
- Administrar workspaces do Databricks
- Ler e gravar em bancos de dados externos
- Transformações de dados
- Orquestração de dados, ou seja, agendamento de jobs
- Visão abrangente do Databricks SQL
- Uso do Lakehouse AI para machine learning em larga escala.
Sou criador de conteúdo em ciência de dados há mais de 2 anos e um dos perfis com maior alcance no Medium. Gosto de escrever artigos detalhados sobre IA e ML, com uma pitada de sarcasmo — porque alguém precisa deixar o assunto menos monótono. Já publiquei mais de 130 artigos e um curso na DataCamp, com outro em andamento. Meu conteúdo já alcançou mais de 5 milhões de visualizações, e 20 mil pessoas passaram a me seguir no Medium e no LinkedIn.
