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.
Carrega conteúdo em cadeia ou binário para um caminho de destino e devolve uma FILE referência ao ficheiro carregado.
Syntax
create_file(content => content
[, destination_path => path ]
[, if_file_exists => mode ]
[, content_type => content_type ])
Podes apresentar argumentos por posição 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
-
content: ASTRINGouBINARYexpressão com o conteúdo a armazenar como ficheiro. ASTRINGé armazenado como bytes codificados em UTF-8. -
destination_path: Um caminho opcionalSTRINGpara carregar o conteúdo. -
if_file_exists: Um opcionalSTRINGque define o comportamento quando um ficheiro já existe no caminho de destino. Aplica-se apenas quando se usa o argumentodestination_path. Os valores aceites (indiferentes a maiúsculas minúsculas) são:-
'error': Levanta um erro. Este é o valor padrão. -
'overwrite': Sobrescreve o ficheiro existente. -
'skip': Ignora o carregamento e devolve umaFILEreferência ao ficheiro existente.
-
-
content_type: Um opcionalSTRINGque especifica o tipo de conteúdo do ficheiro. Se não for fornecido, o tipo de conteúdo é inferido a partir dos bytes de entrada.
Devoluções
Um FILE valor que faz referência ao ficheiro carregado.
Notes
- Se usares
destination_path, o ficheiro é carregado atomicamente para esse caminho. Deve ter acesso de escrita à localização de destino, que normalmente é um volume do Unity Catalog. - Se um ficheiro já existir no caminho de destino, o Azure Databricks gera um erro por defeito, a menos que defina
if_file_existsparaoverwriteouskip.
Condições de erro comuns
CREATE_FILE_ERROR.FILE_ALREADY_EXISTSCREATE_FILE_AUTHORIZATION_ERROR.WRITE_UNAUTHORIZEDCREATE_FILE_ILLEGAL_USAGE.CONTENT_REQUIREDCREATE_FILE_ILLEGAL_USAGE.IF_FILE_EXISTS_WITHOUT_DESTINATIONCREATE_FILE_ILLEGAL_USAGE.IF_FILE_EXISTS_MODE
Para mais informações, veja Condições de erro no Azure Databricks.
Examples
Para armazenar uma string como um novo ficheiro num determinado caminho:
SELECT create_file(
content => 'hello, world',
destination_path => '/Volumes/my_catalog/my_schema/my_volume/greetings.txt'
);
Para armazenar bytes brutos e definir explicitamente o tipo de conteúdo:
SELECT create_file(
content => my_binary_col,
destination_path => '/Volumes/my_catalog/my_schema/my_volume/image.png',
content_type => 'image/png'
)
FROM raw_uploads;
Para saltar o upload se um ficheiro já existir no destino:
SELECT create_file(
content => my_binary_col,
destination_path => '/Volumes/my_catalog/my_schema/my_volume/report.pdf',
if_file_exists => 'skip'
);
Se destination_path não for definido, if_file_exists gera um erro:
SELECT create_file(content => 'data', if_file_exists => 'overwrite');
Error: CREATE_FILE_ILLEGAL_USAGE.IF_FILE_EXISTS_WITHOUT_DESTINATION