list_files таблично-значная функция

Область применения:check помечена да , проверка Databricks SQL помечено да Databricks Runtime 18 LTS и выше

Important

Эта функция доступна в бета-версии. Администраторы рабочей области могут управлять доступом к этой функции на странице "Предварительные версии ". См. статью "Управление предварительными версиями Azure Databricks".

Возвращает список файлов по пути, включая FILE ссылку для каждого файла.

Syntax

list_files(path [, connection => connection ] [, recursive => recursive ])

Arguments

  • path: Путь STRING к списку. Это может быть путь тома, внешний путь к местоположениям или путь в другой системе хранения файлов, такой как SFTP, SharePoint или Google Drive.
  • connection: Необязательное подключение Unity Catalog, используемое для аутентификации с такими системами, как SFTP, SharePoint или Google Drive.
  • recursive: Опциональное BOOLEAN , контролирующее, сводится ли функция к подкаталогам. Допустимые значения:
    • true: Перечисляет файлы в пути и все его подкаталоги, и не возвращает каталоги. Это значение по умолчанию.
    • false: Перечисляет только непосредственные записи пути и возвращает каталоги с nullfile ссылкой и a .size0

Аргументы connection и recursive должны передаваться по имени с использованием => синтаксиса, например connection => my_conn.

Returns

Таблица с одной строкой в каждом файле, со следующими столбцами:

Column Type Description
path STRING Путь к файлу.
size BIGINT Размер файла в байтах.
modification_time TIMESTAMP Последнее время изменения файла — в UTC.
file FILE Ссылка на файл.

Распространенные условия ошибки

  • LIST_FILES_AUTHORIZATION_ERROR.ON_PATH
  • LIST_FILES_AUTHORIZATION_ERROR.ON_CONNECTION
  • LIST_FILES_ERROR.PATH_NOT_EXISTS
  • LIST_FILES_ERROR.CONNECTION_NOT_EXISTS

Для получения дополнительной информации см. Ошибочные условия в Azure Databricks.

Examples

Чтобы перечислить файлы в каталоге томов:

SELECT * FROM list_files('/Volumes/my_catalog/my_schema/my_volume/');

Функция возвращает одну строку на каждый файл:

path                                                 size   modification_time         file
/Volumes/my_catalog/my_schema/my_volume/file1.json   1234   2026-04-11 00:00:00.000   <file>

Чтобы перечислить файлы из внешней системы с помощью соединения Unity Catalog:

SELECT path, size FROM list_files('https://drive.google.com/drive/folders/my-folder-id', connection => my_gdrive_connection);

Чтобы перечислить только непосредственные записи каталога, установите recursive на false:

SELECT * FROM list_files('/Volumes/my_catalog/my_schema/my_volume/', recursive => false);

Каталоги отображаются в результатах с nullfile ссылкой и a :size0

path                                                 size   modification_time         file
/Volumes/my_catalog/my_schema/my_volume/file1.json   1234   2026-04-11 00:00:00.000   <file>
/Volumes/my_catalog/my_schema/my_volume/subdir/      0      2026-04-11 00:00:00.000   NULL

Чтобы вычислить общий размер всех файлов в каталоге, суммируем столбца size . Поскольку recursive по умолчанию , trueэто включает файлы в подкаталогах:

SELECT sum(size) AS total_bytes FROM list_files('/Volumes/my_catalog/my_schema/my_volume/');

Запрос возвращает суммарный размер в байтах:

total_bytes
1234