Поделиться через


Изучение хранилища и поиск файлов данных

В этой статье рассматривается обнаружение и изучение каталогов и файлов данных, управляемых с помощью томов каталога Unity, включая инструкции на основе пользовательского интерфейса для изучения томов с помощью обозревателя каталогов. В этой статье также приведены примеры программного изучения данных в облачном хранилище объектов с помощью путей томов и облачных URI.

Databricks рекомендует использовать тома для управления доступом к данным в облачном хранилище объектов. Дополнительные сведения о подключении к данным в облачном хранилище объектов см. в разделе "Подключение к источникам данных".

Полное пошаговое руководство по взаимодействию с файлами во всех расположениях см. в статье "Работа с файлами в Azure Databricks".

Внимание

При поиске файлов в пользовательском интерфейсе рабочей области можно обнаружить файлы данных, хранящиеся в виде файлов рабочей области. Databricks рекомендует использовать файлы рабочей области в основном для кода (например, скриптов и библиотек), скриптов инициализации или файлов конфигурации. В идеале следует ограничить данные, хранящиеся в виде файлов рабочей области, небольшими наборами данных, которые могут использоваться для таких задач, как тестирование во время разработки и качества обслуживания. См. раздел " Что такое файлы рабочей области?".

Тома и устаревшие конфигурации облачных объектов

При использовании томов для управления доступом к данным в облачном хранилище объектов можно использовать только путь томов для доступа к данным, и эти пути доступны со всеми вычислительными ресурсами каталога Unity. Вы не можете зарегистрировать файлы данных, резервные таблицы каталога Unity с помощью томов. Databricks рекомендует использовать имена таблиц вместо путей к файлам для взаимодействия со структурированными данными, зарегистрированными в качестве таблиц каталога Unity. Узнайте, как путь работает для данных, управляемых каталогом Unity?.

При использовании устаревшего метода для настройки доступа к данным в облачном хранилище объектов Azure Databricks возвращается к устаревшим разрешениям списков управления доступом к таблицам. Пользователям, желающим получить доступ к данным с помощью облачных URI из хранилищ SQL или вычислений, настроенных в режиме общего доступа, требуется ANY FILE разрешение. См. раздел управления доступом к таблицам хранилища метаданных Hive (устаревшая версия).

Azure Databricks предоставляет несколько API для перечисления файлов в облачном хранилище объектов. Большинство примеров в этой статье посвящены использованию томов. Примеры взаимодействия с данными в хранилище объектов, настроенных без томов, см. в статье List files with URIs.

Изучение томов

Обозреватель каталогов можно использовать для изучения данных в томах и просмотра сведений о томе. Вы можете видеть только тома, которые у вас есть разрешения на чтение, поэтому вы можете запрашивать все обнаруженные данные таким образом.

Вы можете использовать SQL для изучения томов и их метаданных. Для перечисления файлов в томах можно использовать SQL, %fs магическую команду или служебные программы Databricks. При взаимодействии с данными в томах используйте путь, предоставленный каталогом Unity, который всегда имеет следующий формат:

/Volumes/catalog_name/schema_name/volume_name/path/to/data

Отображение томов

SQL

Выполните следующую команду, чтобы просмотреть список томов в данной схеме.

SHOW VOLUMES IN catalog_name.schema_name;

См. раздел "ПОКАЗАТЬ ТОМА".

Обозреватель каталогов

Чтобы отобразить тома в данной схеме с помощью обозревателя каталогов, сделайте следующее:

  1. Значок каталогаЩелкните значок каталога.
  2. Выберите каталог.
  3. Выберите схему.
  4. Щелкните тома, чтобы развернуть все тома в схеме.

Примечание.

Если в схеме нет томов, параметр Томов не отображается. Вместо этого отображается список доступных таблиц.

См. сведения о томе

SQL

Выполните следующую команду, чтобы описать том.

DESCRIBE VOLUME volume_name

См. раздел "ОПИСАНИЕ ТОМА".

Обозреватель каталогов

Щелкните имя тома и перейдите на вкладку "Сведения" , чтобы просмотреть сведения о томе.

Просмотр файлов в томах

SQL

Выполните следующую команду, чтобы получить список файлов в томе.

LIST '/Volumes/catalog_name/schema_name/volume_name/'

Обозреватель каталогов

Щелкните имя тома и перейдите на вкладку "Сведения" , чтобы просмотреть сведения о томе.

%fs

Выполните следующую команду, чтобы получить список файлов в томе.

%fs ls /Volumes/catalog_name/schema_name/volume_name/

Служебные программы Databricks

Выполните следующую команду, чтобы получить список файлов в томе.

dbutils.fs.ls("/Volumes/catalog_name/schema_name/volume_name/")

Вывод списка файлов с помощью URI

Вы можете запросить облачное хранилище объектов, настроенное с помощью методов, отличных от томов, с помощью URI. Для доступа к облачному расположению необходимо подключиться к вычислительным ресурсам с привилегиями. Разрешение ANY FILE требуется для хранилищ SQL и вычислений, настроенных в режиме общего доступа.

Примечание.

Доступ URI к хранилищу объектов, настроенным с помощью томов, не поддерживается. Обозреватель каталогов нельзя использовать для просмотра содержимого хранилища объектов, не настроенного с томами.

В следующих примерах приведены примеры URI для данных, хранящихся в Azure Data Lake Storage 2-го поколения, S3 и GCS.

SQL

Выполните следующую команду, чтобы получить список файлов в облачном хранилище объектов.

-- ADLS 2
LIST 'abfss://container-name@storage-account-name.dfs.core.windows.net/path/to/data'

-- S3
LIST 's3://bucket-name/path/to/data'

-- GCS
LIST 'gs://bucket-name/path/to/data'

%fs

Выполните следующую команду, чтобы получить список файлов в облачном хранилище объектов.

# ADLS 2
%fs ls abfss://container-name@storage-account-name.dfs.core.windows.net/path/to/data

# S3
%fs ls s3://bucket-name/path/to/data

# GCS
%fs ls gs://bucket-name/path/to/data

Служебные программы Databricks

Выполните следующую команду, чтобы получить список файлов в облачном хранилище объектов.


# ADLS 2
dbutils.fs.ls("abfss://container-name@storage-account-name.dfs.core.windows.net/path/to/data")

# S3
dbutils.fs.ls("s3://bucket-name/path/to/data")

# GCS
dbutils.fs.ls("bucket-name/path/to/data")