(+351) 21 24 10006  ·  info@bconcepts.pt
Carnaxide, Lisboa

Como usar PySpark num Notebook do Microsoft Fabric

João Barros 15 de July de 2026 4 min de leitura

O Microsoft Fabric reúne engenharia de dados, ciência de dados e Power BI na mesma plataforma, e o Notebook é a ferramenta ideal para transformar dados com código. Saber usar PySpark num Notebook do Microsoft Fabric permite ler, transformar e guardar dados como tabela Delta no Lakehouse de forma reprodutível — e este guia mostra como fazer isso passo a passo, do zero. O PySpark é a API de Python para o Apache Spark, o motor distribuído que o Fabric usa para processar dados em escala.

Pré-requisitos

  • Um workspace do Microsoft Fabric associado a uma capacidade ativa (serve a avaliação gratuita).
  • Um Lakehouse já criado, onde tenhas permissão de escrita (função Contributor ou superior).
  • Conhecimentos básicos de Python — não precisas de experiência prévia com Spark.

Passo 1: Criar o Notebook

No teu workspace, seleciona + Novo item e escolhe Notebook. Em alternativa, abre o teu Lakehouse e usa Abrir notebook > Novo notebook. O Notebook abre com uma célula vazia e usa PySpark como linguagem por omissão — é exatamente o que precisamos.

Não é preciso configurar nenhum cluster: o Fabric fornece um pool de Spark inicial que arranca em poucos segundos assim que executas a primeira célula.

Passo 2: Ligar o Lakehouse ao Notebook

Do lado esquerdo, no Explorer, seleciona Adicionar (ou Adicionar Lakehouse) e escolhe o teu Lakehouse. Ao ficar como Lakehouse predefinido, passas a poder usar caminhos relativos como Files/ e Tables/ e a gravar tabelas diretamente nesse Lakehouse. Este passo é essencial: sem um Lakehouse ligado, o comando que guarda a tabela mais à frente não sabe onde escrever.

Passo 3: Ler dados com PySpark

Para o exemplo ser reprodutível sem carregar ficheiros, vamos criar um pequeno DataFrame em memória. Cola este código na primeira célula e executa com Shift+Enter:

from pyspark.sql import Row

sales = [
    Row(product="Keyboard", category="Accessories", quantity=3, price=25.0),
    Row(product="Monitor", category="Screens", quantity=1, price=180.0),
    Row(product="Mouse", category="Accessories", quantity=5, price=15.0),
    Row(product="Laptop", category="Computers", quantity=2, price=950.0),
]
df = spark.createDataFrame(sales)
display(df)

A função display() mostra o DataFrame numa tabela interativa. Se preferires ler um ficheiro que já tenhas na secção Files do Lakehouse, o padrão é: spark.read.format("csv").option("header", "true").load("Files/vendas.csv").

Passo 4: Transformar os dados

Com o DataFrame carregado, vamos criar uma coluna calculada com o total por linha e ficar apenas com as vendas acima de 50. O PySpark usa a função col() para referir colunas:

from pyspark.sql.functions import col

df_total = df.withColumn("total", col("quantity") * col("price"))
df_filtered = df_total.filter(col("total") > 50)
display(df_filtered)

De seguida, agregamos o total por categoria — o tipo de resumo que costuma alimentar um relatório:

from pyspark.sql.functions import sum as sum_

sales_by_category = df_filtered.groupBy("category").agg(sum_("total").alias("total_by_category"))
display(sales_by_category)

Passo 5: Guardar como tabela Delta

No Fabric, o formato Delta é o formato de tabela por omissão. O Delta acrescenta um registo de transações por cima dos ficheiros Parquet, o que traz fiabilidade ACID e histórico de versões às tuas tabelas. Para guardar o resultado na secção Tables do Lakehouse, usa saveAsTable com o modo overwrite (substitui a tabela se já existir):

sales_by_category.write.format("delta").mode("overwrite").saveAsTable("sales_by_category")

Se preferires acrescentar linhas a uma tabela existente em vez de a substituir, troca overwrite por append.

Verificar o resultado

Atualiza o Explorer do Lakehouse (menu de três pontos > Atualizar) e confirma que a tabela sales_by_category aparece em Tables. Para confirmar os dados por código, consulta a tabela com Spark SQL:

result = spark.sql("SELECT * FROM sales_by_category ORDER BY total_by_category DESC")
display(result)

Deves ver uma linha por categoria com o respetivo total. A mesma tabela fica também disponível no SQL analytics endpoint do Lakehouse, pronta a ser usada num relatório de Power BI.

Conclusão

Em poucos passos criaste um Notebook, ligaste um Lakehouse e usaste PySpark para ler, transformar e guardar dados como tabela Delta — o alicerce de qualquer pipeline de engenharia de dados no Fabric. A partir daqui, experimenta ler dados reais da secção Files, agendar o Notebook num Data Pipeline ou aplicar a arquitetura Medallion (Bronze, Silver, Gold). Qual vai ser a primeira transformação que precisas de automatizar no teu projeto?