Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Область применения:
, проверка 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_PATHLIST_FILES_AUTHORIZATION_ERROR.ON_CONNECTIONLIST_FILES_ERROR.PATH_NOT_EXISTSLIST_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