Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
Função com valor de tabela
Aplica-se a:
Databricks SQL
Databricks Runtime 18 LTS and above
Importante
Esse recurso está em Beta. Os administradores do workspace podem controlar o acesso a esse recurso na página Visualizações . Consulte Gerenciar visualizações do Azure Databricks.
Retorna a lista de arquivos em um caminho, incluindo uma FILE referência para cada arquivo.
Sintaxe
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 em outro sistema de armazenamento de arquivos, como SFTP, SharePoint ou Google Drive. -
connection: Uma conexão opcional do 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 aceitos são:-
true: Lista arquivos no caminho e em todos os seus subdiretórios, e não retorna diretórios. Este é o valor padrão. -
false: Lista apenas as entradas imediatas do caminho e retorna diretórios com umanullfilereferência e umsizede0.
-
Os connection argumentos e recursive devem ser passados pelo nome usando => sintaxe, por exemplo connection => my_conn.
Returns
Uma tabela com uma linha por arquivo, com as seguintes colunas:
| Coluna | Tipo | Description |
|---|---|---|
path |
STRING |
O caminho para o arquivo. |
size |
BIGINT |
O tamanho do arquivo, em bytes. |
modification_time |
TIMESTAMP |
O tempo da última modificação do arquivo, em UTC. |
file |
FILE |
Uma referência ao arquivo. |
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 arquivos em um diretório de volume:
SELECT * FROM list_files('/Volumes/my_catalog/my_schema/my_volume/');
A função retorna uma linha por arquivo:
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 arquivos de um sistema externo usando uma conexão com o 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);
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 arquivos em um diretório, soma a size coluna. Como recursive o padrão é true, isso inclui arquivos em subdiretórios:
SELECT sum(size) AS total_bytes FROM list_files('/Volumes/my_catalog/my_schema/my_volume/');
A consulta retorna o tamanho combinado em bytes:
total_bytes
1234