list_files fonction à valeurs tabulées

S’applique à :check marqué oui Databricks SQL check marqué oui Databricks Runtime 18 LTS et versions ultérieures

Important

Cette fonctionnalité est en version bêta. Les administrateurs d’espace de travail peuvent contrôler l’accès à cette fonctionnalité à partir de la page Aperçus . Consultez Gérer les préversions d’Azure Databricks.

Retourne la liste des fichiers sur un chemin, incluant une FILE référence pour chaque fichier.

Syntax

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

Arguments

  • path: Un STRING chemin à lister. Cela peut être un chemin de volume, un chemin de localisation externe, ou un chemin sur un autre système de stockage de fichiers comme SFTP, SharePoint ou Google Drive.
  • connection: Une connexion optionnelle au catalogue Unity utilisée pour s’authentifier avec des systèmes tels que SFTP, SharePoint ou Google Drive.
  • recursive: Une option BOOLEAN qui contrôle si la fonction descend dans des sous-répertoires. Les valeurs acceptées sont les suivantes :
    • true: Liste les fichiers dans le chemin et tous ses sous-répertoires, et ne retourne pas les répertoires. Il s’agit de la valeur par défaut.
    • false: Liste uniquement les entrées immédiates du chemin, et retourne les annuaires avec une nullfile référence et un size de 0.

Les connection arguments et recursive doivent être transmis par nom en utilisant => la syntaxe, par exemple connection => my_conn.

Returns

Un tableau d’une ligne par fichier, avec les colonnes suivantes :

Column Type Description
path STRING Chemin d’accès au fichier.
size BIGINT Taille du fichier, en octets.
modification_time TIMESTAMP Le dernier temps de modification du fichier, dans UTC.
file FILE Une référence au dossier.

Conditions d’erreur courantes

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

Pour plus d’informations, voir Conditions d’erreur dans Azure Databricks.

Examples

Pour lister les fichiers dans un répertoire de volumes :

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

La fonction renvoie une ligne par fichier :

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

Pour lister des fichiers provenant d’un système externe en utilisant une connexion Unity Catalog :

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

Pour ne lister que les entrées immédiates d’un répertoire, on définit recursive à false:

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

Les annuaires apparaissent dans les résultats avec une nullfile référence et un size de 0:

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

Pour calculer la taille totale de tous les fichiers d’un répertoire, on additionne la size colonne. Parce que recursive par défaut est , truecela inclut les fichiers dans les sous-répertoires :

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

La requête retourne la taille combinée en octets :

total_bytes
1234