Nota
O acesso a esta página requer autorização. Pode tentar iniciar sessão ou alterar os diretórios.
O acesso a esta página requer autorização. Pode tentar alterar os diretórios.
Aplica-se a:
Databricks SQL
sim Databricks Runtime 18 LTS e superiores
Importante
Este recurso está em versão Beta. Os administradores do espaço de trabalho podem controlar o acesso a esse recurso na página Visualizações . Ver Gerir as pré-visualizações de Azure Databricks.
Devolve a lista de ficheiros num caminho, incluindo uma FILE referência para cada ficheiro.
Syntax
list_files(path [, connection => connection ] [, recursive => recursive ])
Arguments
-
path: UmSTRINGcaminho a listar. Pode ser um caminho de volume, um caminho de localização externo ou um caminho noutro sistema de armazenamento de ficheiros como SFTP, SharePoint ou Google Drive. -
connection: Uma ligação opcional ao Unity Catalog usada para autenticação com sistemas como SFTP, SharePoint ou Google Drive. -
recursive: Um opcionalBOOLEANque controla se a função desce para subdiretórios. Os valores aceites são:-
true: Lista ficheiros no caminho e em todos os seus subdiretórios, e não devolve diretórios. Este é o valor padrão. -
false: Lista apenas as entradas imediatas do caminho e devolve diretórios com umanullfilereferência e umsizede0.
-
Os connection argumentos e recursive devem ser passados pelo nome usando => sintaxe, por exemplo connection => my_conn.
Devoluções
Uma tabela com uma linha por ficheiro, com as seguintes colunas:
| Coluna | Tipo | Description |
|---|---|---|
path |
STRING |
O caminho para o ficheiro. |
size |
BIGINT |
O tamanho do arquivo, em bytes. |
modification_time |
TIMESTAMP |
O tempo da última modificação do ficheiro, em UTC. |
file |
FILE |
Uma referência ao ficheiro. |
Condições de erro comuns
LIST_FILES_AUTHORIZATION_ERROR.ON_PATHLIST_FILES_AUTHORIZATION_ERROR.ON_CONNECTIONLIST_FILES_ERROR.PATH_NOT_EXISTSLIST_FILES_ERROR.CONNECTION_NOT_EXISTS
Para mais informações, veja Condições de erro no Azure Databricks.
Examples
Para listar os ficheiros num diretório de volumes:
SELECT * FROM list_files('/Volumes/my_catalog/my_schema/my_volume/');
A função devolve uma linha por ficheiro:
path size modification_time file
/Volumes/my_catalog/my_schema/my_volume/file1.json 1234 2026-04-11 00:00:00.000 <file>
Para listar ficheiros de um sistema externo usando uma ligação ao Unity Catalog:
SELECT path, size FROM list_files('https://drive.google.com/drive/folders/my-folder-id', connection => my_gdrive_connection);
Para listar apenas as entradas imediatas de um diretório, defina recursive para false:
SELECT * FROM list_files('/Volumes/my_catalog/my_schema/my_volume/', recursive => false);
Os diretórios aparecem nos resultados com uma nullfile referência e um size de 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
Para calcular o tamanho total de todos os ficheiros num diretório, soma a size coluna. Como recursive por defeito é true, isto inclui ficheiros em subdiretórios:
SELECT sum(size) AS total_bytes FROM list_files('/Volumes/my_catalog/my_schema/my_volume/');
A consulta devolve o tamanho combinado em bytes:
total_bytes
1234