Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Databricks Runtime включает Pandas в качестве одного из стандартных пакетов Python, что позволяет создавать и использовать кадры данных Pandas в записных книжках и заданиях Databricks.
В Databricks Runtime 10.4 LTS и более поздних версиях API Pandas в Spark предоставляет знакомые команды pandas поверх PySpark DataFrame. Вы также можете преобразовывать DataFrames между Pandas и PySpark.
Apache Spark включает в себя выполнение логики Python, оптимизированное с использованием технологий Arrow, в виде функциональных API pandas, которые позволяют пользователям непосредственно применять преобразования pandas к ДатаФреймам PySpark. Apache Spark также поддерживает UDF pandas, которые используют аналогичные оптимизации с использованием Arrow для произвольных пользовательских функций, определенных в Python.
Где Pandas хранит данные в Azure Databricks?
Панды можно использовать для хранения данных в различных расположениях в Azure Databricks. Возможность хранить и загружать данные из некоторых расположений зависит от конфигураций, заданных администраторами рабочей области.
Примечание.
Databricks рекомендует хранить рабочие данные в облачном хранилище объектов. См. Подключение к Azure Data Lake Storage и Хранилище BLOB-объектов.
Если вы находитесь в рабочей области с включённым каталогом Unity, вы можете получить доступ к облачному хранилищу через внешние расположения. См. Обзор внешних расположений.
Для быстрого исследования и работы с данными, не содержащими конфиденциальной информации, вы можете сохранять данные, используя тома Unity Catalog или относительные пути, как показано в следующих примерах.
import pandas as pd
df = pd.DataFrame([["a", 1], ["b", 2], ["c", 3]])
df.to_csv("/Volumes/my_catalog/my_schema/my_volume/volume_test.csv")
df.to_csv("./relative_path_test.csv")
df.to_csv("/dbfs/tmp/dbfs_test.csv") # DBFS is deprecated.
Вы можете просматривать файлы, записанные в том, с помощью команды %fs magic:
%fs ls /Volumes/my_catalog/my_schema/my_volume
Примечание.
Если вы используете вычислительные ресурсы, которые всё ещё поддерживают DBFS, обратите внимание, что pandas использует пути в стиле POSIX, например, /dbfs/..., и не может напрямую читать пути dbfs:/.... Чтобы прочитать файл DBFS с помощью pandas в вычислительной среде, поддерживающей DBFS FUSE, замените схему dbfs:/ на /dbfs/.
При сохранении в относительный путь расположение файла зависит от того, где выполняется код. Если вы используете записную книжку Databricks, файл данных сохраняется в хранилище томов, подключенном к драйверу кластера. Данные, хранящиеся в этом расположении, окончательно удаляются при завершении кластера. Если вы используете папки Databricks Git с включенной поддержкой произвольных файлов, данные сохраняются в корне текущего проекта. В любом случае вы можете изучить файлы, написанные с помощью %sh волшебной команды, которая позволяет выполнять простые операции bash относительно текущего корневого каталога, как показано в следующем примере:
%sh ls
Дополнительные сведения о том, как Azure Databricks хранит различные файлы, см. в статье "Работа с файлами в Azure Databricks".
Как загрузить данные с помощью Pandas в Azure Databricks?
Azure Databricks предоставляет ряд возможностей для упрощения отправки данных в рабочую область для изучения. Наиболее предпочтительный метод загрузки данных с помощью pandas зависит от того, каким образом вы загружаете данные в рабочую область.
При наличии небольших файлов данных, хранящихся вместе с записными книжками на локальном компьютере, вы можете передать данные и код вместе с папками Git. Затем можно использовать относительные пути для загрузки файлов данных.
Azure Databricks предоставляет широкие возможности загрузки данных на основе пользовательского интерфейса. Большинство этих параметров хранят данные в виде таблиц Delta. Вы можете считывать Delta таблицу в DataFrame Spark, а затем преобразовать его в DataFrame Pandas.
Если у вас есть сохранённые файлы данных, использующие тома Unity Catalog или относительные пути, вы можете загрузить эти файлы из того же места. Примером является следующий код:
import pandas as pd
df = pd.read_csv("/Volumes/my_catalog/my_schema/my_volume/volume_test.csv")
df = pd.read_csv("./relative_path_test.csv")
df = pd.read_csv("/dbfs/tmp/dbfs_test.csv") # DBFS is deprecated.
Данные можно загружать прямо из Azure Data Lake Storage с помощью pandas и полностью квалифицированного URL-адреса. Для доступа к облачным данным необходимо предоставить облачные учетные данные. Пакеты fsspec Python и adlfs должны быть установлены.
df = pd.read_csv(
f"abfss://{container}@{storage_account}.dfs.core.windows.net/{file_path}",
storage_options={
"sas_token": sas_token_value
}
)