Como gerar código PySpark com o Copilot no Fabric
O Copilot no Fabric consegue transformar uma frase em linguagem natural num bloco de código PySpark pronto a correr dentro de um Notebook. Para quem está a começar em Spark, isto acelera o trabalho e, ao mesmo tempo, ajuda a aprender a sintaxe através de exemplos reais. O objetivo deste guia é claro: gerar código PySpark que lê e resume dados de uma Lakehouse, usando o painel do Copilot e o comando mágico %%code, com um exemplo passo a passo.
Pré-requisitos
- Uma capacidade Fabric F2 ou superior (ou P1 ou superior) atribuída ao workspace.
- A definição de inquilino "Users can use Copilot and other features powered by Azure OpenAI" ativa — o administrador do Fabric confirma isto no portal de administração.
- Um Notebook dentro de um workspace com uma Lakehouse anexada e, pelo menos, uma tabela de exemplo (aqui usamos uma tabela chamada
sales). - Conhecimentos básicos de Python. Não precisas de dominar PySpark para seguir este exemplo.
Passo 1: Anexar a Lakehouse ao Notebook
O Copilot usa o contexto do Notebook para responder de forma útil: o workspace, a Lakehouse anexada e os esquemas, tabelas e ficheiros disponíveis. Por isso, o primeiro passo é garantir que existe uma Lakehouse ligada. No Notebook, abre o painel Explorer à esquerda e escolhe Add Lakehouse para ligar a Lakehouse onde estão os teus dados.
Este passo é mais importante do que parece: sem uma fonte de dados anexada, o Copilot não sabe que tabelas existem e as sugestões ficam genéricas e menos precisas.
Passo 2: Abrir o painel do Copilot
Na barra de comandos (ribbon) do Notebook, seleciona o botão Copilot. O painel de conversação abre no lado direito do ecrã. É aqui que escreves pedidos em linguagem natural e manténs uma conversa de vários passos, ideal para construir a solução aos poucos.
Da primeira vez que usares os comandos mágicos (chat-magics), o Notebook pode pedir para correr uma célula de inicialização. Corre essa célula uma vez e continua normalmente.
Passo 3: Descrever a tarefa em linguagem natural
No painel do Copilot, escreve um pedido claro e específico. Quanto mais concreto for — o nome da tabela, as colunas e os filtros — melhor será o código gerado. Um bom exemplo de pedido é:
Lê a tabela sales da Lakehouse e calcula
o total de vendas por região.
O Copilot responde com um bloco de PySpark que podes copiar para uma célula. Lê sempre o código com atenção antes de o executar: o Copilot é um assistente, não um substituto do teu julgamento.
Passo 4: Gerar código inline com %%code
Se preferires gerar código sem sair da célula, usa o comando mágico %%code. Escreve %%code no topo de uma célula, seguido do pedido em linguagem natural, e executa a célula:
%%code
Carrega a tabela sales da Lakehouse para um DataFrame do Spark
e mostra as primeiras 10 linhas.
O Copilot gera o código PySpark correspondente, que podes rever e inserir numa célula para correr. O resultado será semelhante a este:
df = spark.read.table("sales")
df.show(10)
Passo 5: Refinar o código com uma conversa de seguimento
Raramente o primeiro resultado é perfeito, e não faz mal. Como o Copilot mantém o contexto da conversa, podes pedir melhorias sem repetir tudo. Por exemplo, escreve "agrupa por região e ordena do maior para o menor" e o código é ajustado:
from pyspark.sql.functions import sum, col
summary = (df
.groupBy("region")
.agg(sum("amount").alias("total_sales"))
.orderBy(col("total_sales").desc()))
summary.show()
Verificar o resultado
Corre a célula final e confirma que a saída mostra uma linha por região, com o total de vendas ordenado do maior para o menor. Para teres a certeza de que os números estão certos, compara com uma consulta rápida em SparkSQL na mesma tabela:
%%sql
SELECT region, SUM(amount) AS total_sales
FROM sales
GROUP BY region
ORDER BY total_sales DESC
Se os dois resultados coincidem, o código gerado pelo Copilot está correto e podes confiar nele para o próximo passo.
Conclusão
Com o painel do Copilot e o comando %%code, transformaste uma descrição em linguagem natural em código PySpark funcional, sem teres de decorar a sintaxe. Um bom passo seguinte é pedir ao Copilot para adicionar comentários ao código ou para explicar cada linha — é uma forma excelente de aprender enquanto trabalhas. Que tarefa repetitiva do teu dia-a-dia com dados gostarias de automatizar primeiro com o Copilot?