tablo-değerli fonksiyon list_files

Şunun için geçerlidir:evet olarak işaretlendi Databricks SQL denetimi evet olarak işaretlendi Databricks Runtime 18 LTS ve üzeri

Important

Bu özellik Beta sürümündedir. Çalışma alanı yöneticileri Bu özelliğe erişimi Önizlemeler sayfasından denetleyebilir. Bkz. Azure Databricks önizlemelerini yönetme.

Bir yoldaki dosya listesini, her dosya için bir FILE referans dahil olmak üzere döndürür.

Syntax

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

Arguments

  • path: Listeye giden bir STRING yol. Hacim yolu, harici konum yolu veya SFTP, SharePoint veya Google Drive gibi başka bir dosya depolama sisteminde bir yol olabilir.
  • connection: SFTP, SharePoint veya Google Drive gibi sistemlerle kimlik doğrulama için kullanılan isteğe bağlı bir Unity Kataloğu bağlantısı.
  • recursive: Fonksiyonun alt dizinlere inip inmediğini kontrol eden bir isteğe BOOLEAN bağlı. Kabul edilen değerler şunlardır:
    • true: Yoldaki dosyaları ve tüm alt dizinlerini listeler, dizinleri döndürmez. Bu varsayılan değerdir.
    • false: Yolun sadece hemen girdilerini listeler ve referans ve null bir gönderimli filedizinleri size0 döndürür.

ve connectionrecursive argümanları isimle geçilmelidir, => örneğin connection => my_connsözdizimi kullanılarak .

İadeler

Dosya başına bir satır olan ve aşağıdaki sütunlara sahip bir tablo:

Column Türü Description
path STRING Dosyanın yolu.
size BIGINT Dosyanın bayt cinsinden boyutu.
modification_time TIMESTAMP Dosyanın son modifikasyon zamanı, UTC'de.
file FILE Dosyaya bir gönderme.

Yaygın hata koşulları

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

Daha fazla bilgi için bkz. Azure Databricks'te Hata koşulları.

Examples

Dosyaları bir hacim dizininde listelemek için:

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

Fonksiyon, dosya başına bir satır döndürür:

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

Unity Kataloğu bağlantısı kullanarak harici bir sistemden dosyaları listelemek için:

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

Bir dizinin sadece hemen girdilerini listelemek için şu şekilde ayarlanır recursivefalse:

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

Dizinler, sonuçlarda bir nullfile referans ve size bir adıyla: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

Bir dizindeki tüm dosyaların toplam boyutunu hesaplamak için sütunu size toplamaktır. Varsayılan recursive olarak true, bu alt dizinlerdeki dosyaları da kapsar:

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

Sorgu, bayt cinsinden birleşik boyutu döndürür:

total_bytes
1234