Notatka
Dostęp do tej strony wymaga autoryzacji. Może spróbować zalogować się lub zmienić katalogi.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Dotyczy:
, sprawdź, czy usługa SQL databricks
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żkaSTRINGdo 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: OpcjonalnyBOOLEANelement 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ąnullfilei .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_PATHLIST_FILES_AUTHORIZATION_ERROR.ON_CONNECTIONLIST_FILES_ERROR.PATH_NOT_EXISTSLIST_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