Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of de directory te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen de mappen te wijzigen.
Microsoft Fabric-notebooks ondersteunen naadloze interactie met Lakehouse-gegevens met behulp van Pandas, de populairste Python-bibliotheek voor gegevensverkenning en -verwerking. In een notebook kunt u snel gegevens lezen van en terugschrijven naar uw Lakehouse-resources in verschillende bestandsindelingen. Deze handleiding bevat codevoorbeelden om aan de slag te gaan in uw eigen notebook.
Vereisten
Haal een Microsoft Fabric-abonnement op. Of meld u aan voor een gratis proefversie van Microsoft Fabric.
Meld u aan bij Microsoft Fabric.
Schakel over naar Fabric met behulp van de ervaringsschakelaar aan de linkerkant van de startpagina.
- Voltooi de stappen in Je systeem voorbereiden voor tutorials over datawetenschap om een nieuwe notebook te maken en er een Lakehouse aan te koppelen. Volg voor dit artikel de stappen om een nieuw notitieblok te maken in plaats van een bestaand notitieblok te importeren.
Gebruik deze workflow om het juiste patroon te kiezen:
- Voor losse bestanden in het Lakehouse, lees of schrijf je ze met Pandas via een pad onder
Files. - Voor tabelachtige data in een Lakehouse gebruik je Spark- en Delta-tabellen en converteer je daarna alleen naar Pandas wanneer het resultaat in je notebookgeheugen past.
- Als de data groot is, bewaar deze dan in Spark voor filtering, aggregatie en transformatie voordat je hem converteert naar een Pandas DataFrame.
Lakehouse-gegevens laden in een notebook
Notitie
U hebt enkele gegevens in uw Lakehouse nodig om de stappen in deze sectie te volgen. Als u geen gegevens hebt, volgt u de stappen in De gegevensset Downloaden en uploadt u naar Lakehouse om het churn.csv-bestand toe te voegen aan uw Lakehouse.
Zodra je een Lakehouse aan je Microsoft Fabric-notebook koppelt, kun je opgeslagen data verkennen zonder de pagina te verlaten en het bestandspad kopiëren dat je nodig hebt voor de notebookcode. In de Lakehouse Explorer kun je het gegenereerde notitieblok gebruiken om een bestand te laden in een Spark- of Pandas DataFrame, of het volledige ABFS-pad van het bestand kopiëren. Voor het standaard Lakehouse dat aan het notitieboek is gekoppeld, ziet een typisch Files-pad eruit als ./lakehouse/default/Files/... Voor andere Lakehouses gebruik je het ABFS-pad vanaf de Lakehouse Explorer.
Door een bestand te selecteren in de Lakehouse Explorer kan code worden gegenereerd die het bestand laadt in een DataFrame in je notitieboek.
Een Spark DataFrame converteren naar een Pandas DataFrame
Important
toPandas() laadt de volledige Spark DataFrame in het geheugen van de notebookdriver. Gebruik het alleen voor kleine tot middelgrote resultaatsets. Als je dataset groot is, filter, aggregeer of sample het dan in Spark voordat je het converteert naar Pandas.
Ter referentie laat deze opdracht zien hoe u een Spark DataFrame converteert naar een Pandas DataFrame:
# Replace "spark_df" with the name of your own Spark DataFrame
pandas_df = spark_df.toPandas()
Verschillende bestandsindelingen lezen en schrijven
Notitie
Als u de versie van een specifiek pakket wijzigt, kunnen andere pakketten die hiervan afhankelijk zijn mogelijk worden onderbroken. Het downgraden van azure-storage-blob kan bijvoorbeeld problemen veroorzaken met Pandas en verschillende andere bibliotheken die afhankelijk zijn van Pandas, waaronder mssparkutils, fsspec_wrapper en notebookutils.
U kunt hier de lijst met vooraf geïnstalleerde pakketten en de bijbehorende versies voor elke runtime bekijken.
Deze codevoorbeelden laten Pandas-bewerkingen zien voor het lezen en schrijven van verschillende bestandsindelingen. Deze voorbeelden zijn niet bedoeld om sequentieel uit te voeren zoals in een zelfstudie, maar om indien nodig naar uw eigen notebook te worden gekopieerd en geplakt.
Notitie
Je moet de bestandspaden in deze codevoorbeelden vervangen door het volledige pad voor het bestand in je Lakehouse. Voor het standaard Lakehouse dat aan het notitieboekje is gekoppeld, gebruik een pad zoals /lakehouse/default/Files/.... Voor andere Lakehouses gebruik je het ABFS-pad vanaf de Lakehouse Explorer.
Gegevens uit een CSV-bestand lezen
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)
Gegevens schrijven als een CSV-bestand
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)
Gegevens lezen uit een Parquet-bestand
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)
Schrijf gegevens naar een Parquet-bestand
import pandas as pd
# Write a Pandas DataFrame into a Parquet file in your Lakehouse
df.to_parquet("/lakehouse/default/Files/FILENAME.parquet")
Gegevens lezen uit een Excel-bestand
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)
Gegevens schrijven als een Excel-bestand
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)
Gegevens lezen uit een JSON-bestand
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)
Gegevens schrijven als een JSON-bestand
import pandas as pd
# Write a Pandas DataFrame into a JSON file in your Lakehouse
df.to_json("/lakehouse/default/Files/FILENAME.json")
Werken met Delta-tabellen
Delta-tabellen zijn de standaardtabelindeling in Microsoft Fabric en worden opgeslagen in de sectie Tabellen van uw Lakehouse. Bestanden en tabellen zijn verschillende opslagplaatsen in Fabric en gebruiken verschillende toegangspatronen. Om met Delta-tabellen in Pandas te werken, lees je eerst de tabel in een Spark DataFrame en converteer je het gefilterde resultaat naar een pandas DataFrame alleen wanneer het in het drivergeheugen past.
Een Delta-testtabel maken
Als u de stappen in deze sectie wilt volgen, hebt u een Delta-tabel in uw Lakehouse nodig. Volg de stappen in De gegevensset Downloaden en uploaden naar Lakehouse om het churn.csv-bestand toe te voegen aan uw Lakehouse en maak vervolgens een testtabel op basis van het churn.csv-bestand door deze code uit te voeren in uw 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")
Deze stap maakt een Delta-tabel genaamd churn_table die je kunt gebruiken om de volgende voorbeelden te testen.
Gegevens uit een Delta-tabel lezen
# 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)
U kunt deltatabellen ook lezen met behulp van spark SQL-syntaxis:
# Alternative method using Spark SQL
spark_df = spark.sql("SELECT * FROM churn_table")
pandas_df = spark_df.toPandas()
display(pandas_df)
Schrijf een pandas DataFrame naar een Delta-tabel
# 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")
U kunt ook opslaan in een specifiek pad in de sectie Tabellen:
# 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")
Schrijfmodi voor Delta-tabellen
Wanneer u naar Delta-tabellen schrijft, kunt u verschillende modi opgeven:
# 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")
Notitie
Delta-tabellen die zijn gemaakt in de sectie Tabellen van uw Lakehouse, kunnen worden gedetecteerd zonder extra registratie- of configuratiestappen en kunnen worden opgevraagd met Behulp van Spark SQL. Ze worden ook weergegeven in de Interface van Lakehouse Explorer (mogelijk moet u de Lakehouse-verkenner vernieuwen om recente wijzigingen te zien).
Gerelateerde inhoud
- Data Wrangler gebruiken om uw gegevens op te schonen en voor te bereiden
- Begin met het trainen van ML-modellen