list_files Tabellenwertfunktion

Gilt für:check marked yes Databricks SQL check marked yes Databricks Runtime 18 LTS and above

Important

Dieses Feature befindet sich in der Betaversion. Arbeitsbereichsadministratoren können den Zugriff auf dieses Feature über die Vorschauseite steuern. Siehe Manage Azure Databricks Previews.

Gibt die Liste der Dateien auf einem Pfad zurück, einschließlich einer FILE Referenz für jede Datei.

Syntax

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

Arguments

  • path: Ein Weg zur Liste STRING . Kann ein Volumenpfad, ein externer Standortpfad oder ein Pfad auf einem anderen Dateispeichersystem wie SFTP, SharePoint oder Google Drive sein.
  • connection: Eine optionale Unity-Catalog-Verbindung, die zur Authentifizierung mit Systemen wie SFTP, SharePoint oder Google Drive verwendet wird.
  • recursive: Ein optionales BOOLEAN Formular, das steuert, ob die Funktion in Unterverzeichnisse absteigt. Akzeptierte Werte sind:
    • true: Listet Dateien im Pfad und alle Unterverzeichnisse auf und gibt keine Verzeichnisse zurück. Dies ist der Standardwert.
    • false: Listet nur die unmittelbaren Einträge des Pfades auf und gibt Verzeichnisse mit einer nullfile Referenz und einem size von 0zurück.

Die und Argumente connection müssen mit Syntax nach Namen => übergeben werden, zum Beispiel connection => my_conn.recursive

Rückkehr

Eine Tabelle mit einer Zeile pro Datei und folgenden Spalten:

Column Typ Description
path STRING Der Pfad zur Datei.
size BIGINT Die Größe der Datei in Byte.
modification_time TIMESTAMP Die letzte Änderungszeit der Datei, in UTC.
file FILE Ein Verweis auf die Akte.

Häufige Fehlerbedingungen

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

Weitere Informationen finden Sie unter Fehlerbedingungen in Azure Databricks.

Examples

Um die Dateien in einem Volumenverzeichnis aufzulisten:

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

Die Funktion gibt pro Datei eine Zeile zurück:

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

Um Dateien von einem externen System über eine Unity-Katalog-Verbindung aufzulisten:

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

Um nur die unmittelbaren Einträge eines Verzeichnisses aufzulisten, setzen recursive Sie auf false:

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

Verzeichnisse erscheinen in den Ergebnissen mit einer nullfile Referenz und einem size von 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

Um die Gesamtgröße aller Dateien in einem Verzeichnis zu berechnen, summiert man die Spalte size . Da recursive standardmäßig gilt true, umfasst dies Dateien in Unterverzeichnissen:

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

Die Abfrage liefert die kombinierte Größe in Bytes:

total_bytes
1234