create_file Função

Aplica-se a:assinalado Databricks SQL assinalado 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: A STRING ou BINARY expressão com o conteúdo a armazenar como ficheiro. A STRING é armazenado como bytes codificados em UTF-8.
  • destination_path: Um caminho opcional STRING para carregar o conteúdo.
  • if_file_exists: Um opcional STRING que define o comportamento quando um ficheiro já existe no caminho de destino. Aplica-se apenas quando se usa o argumento destination_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 uma FILE referência ao ficheiro existente.
  • content_type: Um opcional STRING que 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_exists para overwrite ou skip.

Condições de erro comuns

  • CREATE_FILE_ERROR.FILE_ALREADY_EXISTS
  • CREATE_FILE_AUTHORIZATION_ERROR.WRITE_UNAUTHORIZED
  • CREATE_FILE_ILLEGAL_USAGE.CONTENT_REQUIRED
  • CREATE_FILE_ILLEGAL_USAGE.IF_FILE_EXISTS_WITHOUT_DESTINATION
  • CREATE_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