Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
Os notebooks do Microsoft Fabric dão suporte à interação perfeita com os dados do Lakehouse usando o Pandas, a biblioteca Python mais popular para exploração e processamento de dados. Em um notebook, você pode ler rapidamente os dados e gravar dados de volta em seus recursos do Lakehouse em vários formatos de arquivo. Este guia fornece exemplos de código para ajudá-lo a começar a usar seu próprio notebook.
Pré-requisitos
Obtenha uma assinatura do Microsoft Fabric. Ou, inscreva-se para uma avaliação gratuita do Microsoft Fabric.
Entre em Microsoft Fabric.
Alterne para o Fabric usando o alternador de experiências no canto inferior esquerdo da página inicial.
- Conclua as etapas em Preparar seu sistema para tutoriais de ciência de dados para criar um novo bloco de anotações e anexar um Lakehouse a ele. Para este artigo, siga as etapas para criar um novo bloco de anotações em vez de importar um existente.
Use este fluxo de trabalho para escolher o padrão certo:
- Para arquivos individuais no Lakehouse, leia-os ou escreva-os com Pandas usando um caminho sob
Files. - Para dados tabulares em um Lakehouse, use tabelas do Spark e do Delta e só então converta para o Pandas quando o resultado couber na memória do seu notebook.
- Se os dados forem grandes, mantenha-os no Spark para filtragem, agregação e transformação antes de convertê-los em um DataFrame Pandas.
Carregar dados do Lakehouse em um notebook
Observação
Você precisa de alguns dados em seu Lakehouse para seguir as etapas desta seção. Se você não tiver dados, siga as etapas em Baixar conjunto de dados e carregue no lakehouse para adicionar o arquivo churn.csv ao Lakehouse.
Depois de anexar um Lakehouse ao seu notebook Microsoft Fabric, você pode explorar os dados armazenados sem sair da página e copiar o caminho do arquivo necessário para o código do notebook. No explorador do Lakehouse, você pode usar o trecho de código gerado do notebook para carregar um arquivo em um DataFrame do Spark ou do Pandas, ou copiar o caminho ABFS completo do arquivo. Para o Lakehouse padrão ligado ao notebook, um caminho típico de Arquivos se parece com /lakehouse/default/Files/.... Para outras Lakehouses, use o caminho ABFS do explorador Lakehouse.
Selecionar um arquivo no explorador Lakehouse pode gerar código que carrega o arquivo em um DataFrame no seu caderno.
Como converter um DataFrame do Spark em um DataFrame do Pandas
Importante
toPandas() carrega o DataFrame completo do Spark na memória do driver do notebook. Use apenas para conjuntos de resultados pequenos a médios. Se seu conjunto de dados for grande, filtre, agregue ou amostre-o no Spark antes de converter para Pandas.
Para referência, este comando mostra como converter um DataFrame do Spark em um DataFrame pandas:
# Replace "spark_df" with the name of your own Spark DataFrame
pandas_df = spark_df.toPandas()
Leitura e gravação de vários formatos de arquivo
Observação
Modificar a versão de um pacote específico pode potencialmente interromper outros pacotes que dependem dele. Por exemplo, fazer downgrade de azure-storage-blob pode causar problemas com Pandas e várias outras bibliotecas que dependem de Pandas, incluindo mssparkutils, fsspec_wrapper e notebookutils.
Você poderá exibir a lista de pacotes pré-instalados e suas versões para cada runtime aqui.
Esses exemplos de código demonstram operações do Pandas para ler e gravar vários formatos de arquivo. Esses exemplos não devem ser executados sequencialmente como em um tutorial, mas sim para serem copiados e colados em seu próprio bloco de anotações, conforme necessário.
Observação
Você deve substituir os caminhos dos arquivos nesses exemplos de código pelo caminho completo do arquivo no seu Lakehouse. Para o Lakehouse padrão associado ao notebook, use um caminho como /lakehouse/default/Files/.... Para outros Lakehouses, use o caminho ABFS do Lakehouse Explorer.
Ler dados de um arquivo CSV
import pandas as pd
# Read a CSV file from your Lakehouse into a Pandas DataFrame
# For the default Lakehouse attached to the notebook, use the following path pattern:
df = pd.read_csv("/lakehouse/default/Files/FILENAME.csv")
# Verify that the file loaded successfully before continuing
print(df.head())
print(df.shape)
display(df)
Gravar dados como um arquivo CSV
import pandas as pd
# Write a Pandas DataFrame into a CSV file in your Lakehouse
# Replace FILENAME with your own value
df.to_csv("/lakehouse/default/Files/FILENAME.csv", index=False)
Ler dados de um arquivo Parquet
import pandas as pd
# Read a Parquet file from your Lakehouse into a Pandas DataFrame
df = pd.read_parquet("/lakehouse/default/Files/FILENAME.parquet")
display(df)
Gravar dados em um arquivo Parquet
import pandas as pd
# Write a Pandas DataFrame into a Parquet file in your Lakehouse
df.to_parquet("/lakehouse/default/Files/FILENAME.parquet")
Ler dados de um arquivo do Excel
import pandas as pd
# Read an Excel file from your Lakehouse into a Pandas DataFrame
# If the file is in a subfolder, add the appropriate folder after Files/
df = pd.read_excel("/lakehouse/default/Files/FILENAME.xlsx")
display(df)
Gravar dados como um arquivo do Excel
import pandas as pd
# Write a Pandas DataFrame into an Excel file in your Lakehouse
df.to_excel("/lakehouse/default/Files/FILENAME.xlsx", index=False)
Leia os dados de um arquivo JSON
import pandas as pd
# Read a JSON file from your Lakehouse into a Pandas DataFrame
df = pd.read_json("/lakehouse/default/Files/FILENAME.json")
display(df)
Gravar dados como um arquivo JSON
import pandas as pd
# Write a Pandas DataFrame into a JSON file in your Lakehouse
df.to_json("/lakehouse/default/Files/FILENAME.json")
Trabalhando com tabelas Delta
As tabelas delta são o formato de tabela padrão no Microsoft Fabric e são armazenadas na seção Tabelas do Lakehouse. Arquivos e tabelas são diferentes locais de armazenamento no Fabric, e eles usam padrões de acesso distintos. Para trabalhar com tabelas Delta no Pandas, primeiro leia a tabela em um DataFrame do Spark e depois converta o resultado filtrado em um DataFrame pandas apenas quando ele couber na memória do driver.
Criar uma tabela Delta de teste
Para seguir as etapas desta seção, você precisa de uma tabela Delta em seu Lakehouse. Siga as etapas em Baixar o conjunto de dados e carregar no lakehouse para adicionar o arquivo churn.csv ao Lakehouse e, depois, criar uma tabela de teste a partir do arquivo churn.csv executando este código em seu notebook:
import pandas as pd
# Create a test Delta table from the churn.csv file
df = pd.read_csv("/lakehouse/default/Files/churn/raw/churn.csv")
spark_df = spark.createDataFrame(df)
spark_df.write.format("delta").mode("overwrite").saveAsTable("churn_table")
Essa etapa cria uma tabela Delta chamada churn_table que você pode usar para testar os exemplos a seguir.
Ler dados de uma tabela Delta
# Read a Delta table from your Lakehouse into a pandas DataFrame
# This example uses the churn_table created above
spark_df = spark.read.table("churn_table")
pandas_df = spark_df.toPandas()
display(pandas_df)
Você também pode ler tabelas Delta usando a sintaxe do Spark SQL:
# Alternative method using Spark SQL
spark_df = spark.sql("SELECT * FROM churn_table")
pandas_df = spark_df.toPandas()
display(pandas_df)
Gravar DataFrame do pandas em uma tabela Delta
# Convert pandas DataFrame to Spark DataFrame, then save as Delta table
# Replace TABLE_NAME with your desired table name
spark_df = spark.createDataFrame(pandas_df)
spark_df.write.format("delta").mode("overwrite").saveAsTable("TABLE_NAME")
Você também pode salvar em um caminho específico na seção Tabelas:
# Save to a specific path in the Tables section
spark_df = spark.createDataFrame(pandas_df)
spark_df.write.format("delta").mode("overwrite").save("Tables/TABLE_NAME")
Modos de gravação para tabelas Delta
Ao gravar em tabelas Delta, você pode especificar modos diferentes:
# Overwrite the entire table
spark_df.write.format("delta").mode("overwrite").saveAsTable("TABLE_NAME")
# Append new data to existing table
spark_df.write.format("delta").mode("append").saveAsTable("TABLE_NAME")
Observação
As tabelas delta criadas na seção Tabelas do Lakehouse são detectáveis sem nenhuma etapa adicional de registro ou configuração e podem ser consultadas usando o SQL do Spark. Eles também aparecem na interface do Lakehouse Explorer (talvez seja necessário atualizar o Lakehouse Explorer para ver as alterações recentes).
Conteúdo relacionado
- Usar o Data Wrangler para limpar e preparar seus dados
- Iniciar o treinamento de modelos de ML