Nuta
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować się zalogować lub zmienić katalog.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Notesy usługi Microsoft Fabric obsługują bezproblemową interakcję z danymi usługi Lakehouse przy użyciu biblioteki Pandas, najpopularniejszej biblioteki języka Python na potrzeby eksploracji i przetwarzania danych. W notesie można szybko odczytywać dane z zasobów usługi Lakehouse i zapisywać je z powrotem w różnych formatach plików. Ten przewodnik zawiera przykłady kodu ułatwiające rozpoczęcie pracy we własnym notesie.
Wymagania wstępne
Uzyskaj subskrypcję usługi Microsoft Fabric. Możesz też utworzyć konto bezpłatnej wersji próbnej usługi Microsoft Fabric.
Zaloguj się do usługi Microsoft Fabric.
Przełącz się na Fabric, używając przełącznika nawigacji w lewej dolnej części strony głównej.
- Wykonaj kroki opisane w artykule Prepare your system for data science tutorials (Przygotowywanie systemu do nauki o danych ), aby utworzyć nowy notes i dołączyć do niego usługę Lakehouse. W tym artykule wykonaj kroki tworzenia nowego notesu, a nie importowania istniejącego.
Ładowanie danych usługi Lakehouse do notesu
Uwaga
Aby wykonać kroki opisane w tej sekcji, potrzebne są pewne dane w usłudze Lakehouse. Jeśli nie masz żadnych danych, wykonaj kroki opisane w temacie Pobieranie zestawu danych i przekazywanie do usługi Lakehouse , aby dodać plik churn.csv do usługi Lakehouse.
Po dołączeniu usługi Lakehouse do notesu usługi Microsoft Fabric możesz eksplorować przechowywane dane bez opuszczania strony i odczytywać je do notesu, wykonując kilka kroków. Wybranie dowolnego pliku lakehouse powoduje wyświetlenie opcji "Ładowanie danych" do ramki danych Platformy Spark lub biblioteki Pandas. Możesz również skopiować pełną ścieżkę ABFS pliku lub przyjazną ścieżkę względną.
Wybór jednego z monitów "Załaduj dane" powoduje wygenerowanie komórki kodu, która ładuje plik do Ramki danych w notesie.
Konwertowanie ramki danych platformy Spark na ramkę danych biblioteki Pandas
W tym poleceniu pokazano, jak przekonwertować ramkę danych platformy Spark na ramkę danych Biblioteki Pandas:
# Replace "spark_df" with the name of your own Spark DataFrame
pandas_df = spark_df.toPandas()
Odczytywanie i zapisywanie różnych formatów plików
Uwaga
Zmodyfikowanie wersji określonego pakietu może potencjalnie spowodować przerwanie innych pakietów, które od niego zależą. Na przykład obniżenie poziomu azure-storage-blob może powodować problemy z różnymi bibliotekami, które korzystają Pandasz Pandas elementów , w tym mssparkutils, fsspec_wrapperi notebookutils.
Listę wstępnie zainstalowanych pakietów i ich wersji dla każdego środowiska uruchomieniowego można wyświetlić tutaj.
Te przykłady kodu przedstawiają operacje biblioteki Pandas umożliwiające odczytywanie i zapisywanie różnych formatów plików. Te próbki nie są przeznaczone do uruchamiania sekwencyjnie, jak w samouczku, lecz do skopiowania i wklejenia do własnego notatnika według potrzeb.
Uwaga
Należy zastąpić ścieżki plików w tych przykładach kodu. Biblioteka Pandas obsługuje zarówno ścieżki względne, jak pokazano tutaj, i pełne ścieżki ABFS. Ścieżki dowolnego typu można pobrać i skopiować z interfejsu, wykonując poprzednie kroki.
Odczytywanie danych z pliku CSV
import pandas as pd
# Read a CSV file from your Lakehouse into a Pandas DataFrame
# Replace LAKEHOUSE_PATH and FILENAME with your own values
df = pd.read_csv("/LAKEHOUSE_PATH/Files/FILENAME.csv")
display(df)
Zapisywanie danych jako pliku CSV
import pandas as pd
# Write a Pandas DataFrame into a CSV file in your Lakehouse
# Replace LAKEHOUSE_PATH and FILENAME with your own values
df.to_csv("/LAKEHOUSE_PATH/Files/FILENAME.csv")
Odczytywanie danych z pliku Parquet
import pandas as pd
# Read a Parquet file from your Lakehouse into a Pandas DataFrame
# Replace LAKEHOUSE_PATH and FILENAME with your own values
df = pd.read_parquet("/LAKEHOUSE_PATH/Files/FILENAME.parquet")
display(df)
Zapisywanie danych jako pliku Parquet
import pandas as pd
# Write a Pandas DataFrame into a Parquet file in your Lakehouse
# Replace LAKEHOUSE_PATH and FILENAME with your own values
df.to_parquet("/LAKEHOUSE_PATH/Files/FILENAME.parquet")
Odczytywanie danych z pliku programu Excel
import pandas as pd
# Read an Excel file from your Lakehouse into a Pandas DataFrame
# Replace LAKEHOUSE_PATH and FILENAME with your own values
# If the file is in a subfolder, add the correct file path after Files/
# For the default lakehouse attached to the notebook, use: df = pd.read_excel("/lakehouse/default/Files/FILENAME.xlsx")
df = pd.read_excel("/LAKEHOUSE_PATH/Files/FILENAME.xlsx")
display(df)
Zapisywanie danych jako pliku programu Excel
import pandas as pd
# Write a Pandas DataFrame into an Excel file in your Lakehouse
# Replace LAKEHOUSE_PATH and FILENAME with your own values
df.to_excel("/LAKEHOUSE_PATH/Files/FILENAME.xlsx")
Odczytywanie danych z pliku JSON
import pandas as pd
# Read a JSON file from your Lakehouse into a Pandas DataFrame
# Replace LAKEHOUSE_PATH and FILENAME with your own values
df = pd.read_json("/LAKEHOUSE_PATH/Files/FILENAME.json")
display(df)
Zapisywanie danych jako pliku JSON
import pandas as pd
# Write a Pandas DataFrame into a JSON file in your Lakehouse
# Replace LAKEHOUSE_PATH and FILENAME with your own values
df.to_json("/LAKEHOUSE_PATH/Files/FILENAME.json")
Praca z tabelami delty
Tabele różnicowe są domyślnym formatem tabeli w usłudze Microsoft Fabric i są przechowywane w sekcji Tabele usługi Lakehouse. W przeciwieństwie do plików tabele delty wymagają dwuetapowego procesu pracy z biblioteką pandas: najpierw odczytaj tabelę do ramki danych Platformy Spark, a następnie przekonwertuj ją na ramkę danych biblioteki pandas.
Tworzenie testowej tabeli delty
Aby wykonać kroki opisane w tej sekcji, potrzebujesz tabeli delty w usłudze Lakehouse. Wykonaj kroki opisane w temacie Pobieranie zestawu danych i przekazywanie do usługi Lakehouse , aby dodać plik churn.csv do usługi Lakehouse, a następnie utwórz tabelę testową z pliku churn.csv , uruchamiając ten kod w notesie:
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")
Spowoduje to utworzenie tabeli delty o nazwie churn_table , której można użyć do testowania poniższych przykładów.
Odczytywanie danych z tabeli delty
# Read a Delta table from your Lakehouse into a pandas DataFrame
# This example uses the churn_table created above
spark_df = spark.read.format("delta").load("Tables/churn_table")
pandas_df = spark_df.toPandas()
display(pandas_df)
Tabele delty można również odczytywać przy użyciu składni Spark SQL:
# Alternative method using Spark SQL
spark_df = spark.sql("SELECT * FROM churn_table")
pandas_df = spark_df.toPandas()
display(pandas_df)
Zapisywanie ramki danych biblioteki pandas w tabeli delty
# 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")
Możesz również zapisać w określonej ścieżce w sekcji Tabele:
# 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")
Tryby zapisu dla tabel różnicowych
Podczas zapisywania w tabelach delty można określić różne tryby:
# 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")
Uwaga
Tabele różnicowe utworzone w sekcji Tabele usługi Lakehouse są wykrywalne bez żadnych dodatkowych kroków rejestracji lub konfiguracji i mogą być odpytywane przy użyciu usługi Spark SQL. Są one również wyświetlane w interfejsie eksploratora usługi Lakehouse (może być konieczne odświeżenie eksploratora usługi Lakehouse w celu wyświetlenia ostatnich zmian).
Powiązana zawartość
- Czyszczenie i przygotowywanie danych przy użyciu narzędzia Data Wrangler
- Rozpoczynanie trenowania modeli uczenia maszynowego