list_files funkcja wartości tabeli

Dotyczy:sprawdź, czy zaznaczono tak, sprawdź, czy usługa SQL databricks została oznaczona jako tak Databricks Runtime 18 LTS lub nowsza

Important

Ta funkcja jest dostępna w wersji beta. Administratorzy obszaru roboczego mogą kontrolować dostęp do tej funkcji ze strony Podglądy . Zobacz Zarządzanie wersjami zapoznawczami usługi Azure Databricks.

Zwraca listę plików na ścieżce, wraz z referencją FILE dla każdego pliku.

Składnia

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

Arguments

  • path: Ścieżka STRING do listy. Może to być ścieżka woluminu, zewnętrzna ścieżka lokalizacji lub ścieżka w innym systemie przechowywania plików, takim jak SFTP, SharePoint czy Google Drive.
  • connection: Opcjonalne połączenie Unity Catalog służące do uwierzytelniania z systemami takimi jak SFTP, SharePoint czy Google Drive.
  • recursive: Opcjonalny BOOLEAN element decydujący, czy funkcja przechodzi do podkatalogów. Akceptowane wartości to:
    • true: Lista plików w ścieżce i wszystkich jej podkatalogów, nie zwracając katalogów. Jest to wartość domyślna.
    • false: Lista tylko bezpośrednich wpisów ścieżki i zwraca katalogi z referencją nullfile i .size0

Argumenty connection i recursive muszą być przekazywane przez nazwę za pomocą => składni, na przykład connection => my_conn.

Zwroty

Tabela z jednym wierszem na plik, z następującymi kolumnami:

Column Typ Description
path STRING Ścieżka do pliku.
size BIGINT Rozmiar pliku w bajtach.
modification_time TIMESTAMP Ostatni czas modyfikacji pliku w UTC.
file FILE Odniesienie do akt.

Typowe warunki błędów

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

Więcej informacji można znaleźć w artykule Condition Error conditions in Azure Databricks.

Examples

Aby wypisać pliki w katalogu woluminów:

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

Funkcja zwraca jeden wiersz na plik:

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

Aby wypisać pliki z zewnętrznego systemu za pomocą połączenia z katalogiem Unity:

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

Aby wymienić tylko bezpośrednie wpisy katalogu, ustaw recursive na false:

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

Katalogi pojawiają się w wynikach z odniesieniem nullfile i :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

Aby obliczyć całkowity rozmiar wszystkich plików w katalogu, zsumuj kolumnę size . Ponieważ recursive domyślnie jest , trueobejmuje to pliki w podkatalogach:

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

Zapytanie zwraca łączny rozmiar w bajtach:

total_bytes
1234