list_files fungsi dengan nilai tabel

Berlaku untuk:check ditandai ya pemeriksaan Databricks SQL ditandai ya Databricks Runtime 18 LTS ke atas

Important

Fitur ini ada di Beta. Admin ruang kerja dapat mengontrol akses ke fitur ini dari halaman Pratinjau . Lihat Kelola Pratinjau Azure Databricks.

Mengembalikan daftar file pada jalur, termasuk FILE referensi untuk setiap file.

Syntax

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

Arguments

  • path: Jalur STRING untuk daftar. Bisa berupa jalur volume, jalur lokasi eksternal, atau jalur pada sistem penyimpanan file lain seperti SFTP, SharePoint, atau Google Drive.
  • connection: Koneksi Unity Catalog opsional yang digunakan untuk autentikasi dengan sistem seperti SFTP, SharePoint, atau Google Drive.
  • recursive: Opsional BOOLEAN yang mengontrol apakah fungsi akan turun ke subdirektori. Nilai yang diterima adalah:
    • true: Menampilkan file di path dan semua subdirektorinya, dan tidak mengembalikan direktori. Ini adalah nilai default.
    • false: Hanya mencantumkan entri langsung dari jalur, dan mengembalikan direktori dengan nullfile referensi dan satu dari size0.

Argumen dan connectionrecursive harus diberikan dengan nama menggunakan => sintaks, misalnya connection => my_conn.

Returns

Tabel dengan satu baris per file, dengan kolom-kolom berikut:

kolom Tipe Description
path STRING Jalur ke file.
size BIGINT Ukuran file, dalam satuan byte.
modification_time TIMESTAMP Waktu modifikasi terakhir file, dalam UTC.
file FILE Referensi ke berkas.

Kondisi kesalahan umum

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

Untuk informasi lebih lanjut, lihat Kondisi kesalahan di Azure Databricks.

Examples

Untuk mencantumkan file dalam direktori volume:

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

Fungsi ini mengembalikan satu baris per file:

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

Untuk mencantumkan file dari sistem eksternal menggunakan koneksi Unity Catalog:

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

Untuk hanya mencantumkan entri langsung dari sebuah direktori, atur recursive ke false:

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

Direktori muncul dalam hasil dengan nullfile referensi dan satu dari 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

Untuk menghitung ukuran total semua file dalam sebuah direktori, jumlahkan size kolomnya. Karena recursive secara default adalah true, ini termasuk file dalam subdirektori:

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

Query mengembalikan ukuran gabungan dalam byte:

total_bytes
1234