Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Записные книжки Microsoft Fabric поддерживают простое взаимодействие с данными Lakehouse с помощью Pandas, самой популярной библиотеки Python для изучения и обработки данных. В записной книжке можно быстро считывать данные из ресурсов Lakehouse и записывать их обратно в различные форматы файлов. В этом руководстве приведены примеры кода, которые помогут вам приступить к работе с собственной записной книжкой.
Необходимые компоненты
Получение подписки Microsoft Fabric. Или зарегистрируйте бесплатную пробную версию Microsoft Fabric.
Войдите в Microsoft Fabric.
Перейдите в Fabric с помощью переключателя интерфейса в левой нижней части домашней страницы.
- Выполните шаги, указанные в руководстве по подготовке системы для учебных материалов по анализу данных, чтобы создать новый ноутбук и подключить к нему Lakehouse. Для этой статьи выполните действия, чтобы создать новую записную книжку, а не импортировать существующую.
Загрузка данных Lakehouse в записную книжку
Примечание.
Чтобы выполнить действия, описанные в этом разделе, вам потребуются некоторые данные в Lakehouse. Если у вас нет данных, выполните действия, описанные в разделе "Скачивание набора данных" и отправку в Lakehouse , чтобы добавить файлchurn.csv в Lakehouse.
Подключив Lakehouse к записной книжке Microsoft Fabric, вы можете изучить сохраненные данные, не покидая страницу, и прочитать ее в записную книжку всего за несколько шагов. При выборе любого файла Lakehouse отображаются параметры "Загрузить данные" в DataFrame Spark или Pandas. Вы также можете скопировать полный путь ABFS файла или понятный относительный путь.
При выборе одного из запросов "Загрузка данных" создается ячейка кода, которая загружает файл в DataFrame в блокноте.
Преобразование кадра данных Spark в кадр данных Pandas
Для справки в этой команде показано, как преобразовать кадр данных Spark в кадр данных Pandas:
# Replace "spark_df" with the name of your own Spark DataFrame
pandas_df = spark_df.toPandas()
Чтение и запись различных форматов файлов
Примечание.
Изменение версии определенного пакета может потенциально нарушить другие пакеты, которые зависят от него. Например, понижение azure-storage-blob может привести к проблемам с Pandas и различными другими библиотеками, которые полагаются Pandasна , в том числе mssparkutils, fsspec_wrapperи notebookutils.
Вы можете просмотреть список предварительно установленных пакетов и их версий для каждой среды выполнения.
Эти примеры кода демонстрируют операции Pandas для чтения и записи различных форматов файлов. Эти примеры не предназначены для последовательного выполнения, как в руководстве, а для копирования и вставки в собственную записную книжку по мере необходимости.
Примечание.
В этих примерах кода необходимо заменить пути к файлам. Pandas поддерживает как относительные пути, так и полные пути ABFS. Вы можете получить и скопировать пути любого типа из интерфейса с помощью предыдущих шагов.
Чтение данных из 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)
Запись данных в ВИДЕ 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")
Чтение данных из файла 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)
Запись данных в виде файла 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")
Чтение данных из файла 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)
Запись данных в виде файла 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")
Чтение данных из 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)
Запись данных в виде 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")
Работа с разностными таблицами
Разностные таблицы — это формат таблицы по умолчанию в Microsoft Fabric и хранится в разделе "Таблицы " в Lakehouse. В отличие от файлов, разностные таблицы требуют двухэтапного процесса для работы с pandas: сначала считывает таблицу в кадр данных Spark, а затем преобразует его в кадр данных pandas.
Создание тестовой таблицы Delta
Чтобы выполнить действия, описанные в этом разделе, вам потребуется таблица Delta в Lakehouse. Выполните действия, описанные в разделе "Скачать набор данных" и отправьте его в Lakehouse , чтобы добавить файлchurn.csv в Lakehouse, а затем создайте тестовую таблицу из файла churn.csv , выполнив этот код в записной книжке:
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")
При этом создается таблица Delta с именем churn_table , которую можно использовать для тестирования приведенных ниже примеров.
Чтение данных из таблицы Delta
# 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)
Вы также можете читать таблицы Delta с помощью синтаксиса Spark SQL:
# Alternative method using Spark SQL
spark_df = spark.sql("SELECT * FROM churn_table")
pandas_df = spark_df.toPandas()
display(pandas_df)
Запись pandas DataFrame в таблицу 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")
Вы также можете сохранить в определенном пути в разделе "Таблицы":
# 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")
Режимы записи для разностных таблиц
При записи в разностные таблицы можно указать различные режимы:
# 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")
Примечание.
Разностные таблицы, созданные в разделе "Таблицы " в Lakehouse, доступны без дополнительных шагов регистрации или настройки и могут запрашиваться с помощью Spark SQL. Они также отображаются в интерфейсе обозревателя Lakehouse (может потребоваться обновить обозреватель Lakehouse, чтобы увидеть последние изменения).