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.
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.
Copia um arquivo para um caminho de destino e retorna uma FILE referência ao arquivo copiado. Omita destination copiar o arquivo para o armazenamento gerenciado pelo Unity Catalog, que converte uma FILE EXTERNAL referência em uma FILE MANAGED referência.
Sintaxe
copy_file(file => file
[, destination => destination ]
[, if_file_exists_mode => mode ])
Você pode apresentar argumentos posicionalmente ou pelo nome. Depois de passar um argumento pelo nome, todos os argumentos seguintes também devem ser passados pelo nome. Para mais informações, veja invocação de parâmetro nomeado.
Arguments
-
file: UmFILEvalor para copiar. -
destination: Um opcionalSTRINGcom o caminho completo do arquivo de destino, não apenas um diretório. Quando omitido, o arquivo é copiado para o armazenamento gerenciado pelo Catálogo Unity, convertendo umaFILE EXTERNALreferência em umaFILE MANAGEDreferência. -
if_file_exists_mode: Um opcionalSTRINGque define o comportamento quando um arquivo já existe no caminho de destino. Só se aplica ao usar o argumentodestination. Valores aceitos (indiferentes a maiúsculas minúsculas) são:-
'error': Levanta um erro. Este é o valor padrão. -
'overwrite': Sobrescreve o arquivo existente. -
'skip': Pula a cópia e retorna umaFILEreferência ao arquivo existente.
-
Returns
Um FILE valor que faz referência ao arquivo copiado.
Observações
- Omitir
destinationconverte umaFILE EXTERNALreferência emFILE MANAGED. O Azure Databricks também aplica essa conversão automaticamente quando você insere umFILE EXTERNALvalor em umaFILE MANAGEDcoluna. - Se um arquivo já existir no caminho de destino, o Azure Databricks gera um erro por padrão, a menos que você defina
if_file_exists_modeparaoverwriteouskip. - Se o arquivo fonte não existir, o Azure Databricks gera um erro. Para retornar
NULL, em vez de gerar um erro em qualquer dos casos, usetry_copy_filefunção.
Condições de erro comuns
COPY_FILE_ERROR.FILE_NOT_EXISTSCOPY_FILE_ERROR.FILE_ALREADY_EXISTSCOPY_FILE_AUTHORIZATION_ERROR.READ_UNAUTHORIZEDCOPY_FILE_AUTHORIZATION_ERROR.WRITE_UNAUTHORIZED
Para mais informações, veja Condições de erro no Azure Databricks.
Examples
Para copiar um arquivo de um volume para outro:
SELECT copy_file(
to_file('/Volumes/source/data/input.csv'),
destination => '/Volumes/target/data/output.csv'
);
Para copiar arquivos para um volume alvo usando um nome de arquivo por linha:
SELECT copy_file(
source_file,
destination => '/Volumes/my_catalog/my_schema/my_volume/processed/' || file_name,
if_file_exists_mode => 'skip'
)
FROM staging_files;
Para sobrescrever o destino se um arquivo já existir:
SELECT copy_file(
to_file('/Volumes/source/reports/report.pdf'),
destination => '/Volumes/archive/reports/report.pdf',
if_file_exists_mode => 'overwrite'
);
Se o arquivo fonte não existir, copy_file gera um erro:
SELECT copy_file(deleted_file, destination => '/Volumes/archive/reports/report.pdf');
Error: COPY_FILE_ERROR.FILE_NOT_EXISTS