create_file Função

Aplica-se a:check marked yes Databricks SQL check marked yes 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.

Faz upload de conteúdo binário ou em cadeia para um caminho de destino e retorna uma FILE referência ao arquivo enviado.

Sintaxe

create_file(content => content
  [, destination_path => path ]
  [, if_file_exists => mode ]
  [, content_type => content_type ])

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

  • content: A STRING ou BINARY expressão com o conteúdo a ser armazenado como um arquivo. A STRING é armazenado como bytes codificados em UTF-8.
  • destination_path: Um caminho opcional STRING para enviar o conteúdo.
  • if_file_exists: Um opcional STRING que define o comportamento quando um arquivo já existe no caminho de destino. Só se aplica ao usar o argumento destination_path . 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 o upload e retorna uma FILE referência ao arquivo existente.
  • content_type: Um opcional STRING que especifica o tipo de conteúdo do arquivo. Se não for fornecido, o tipo de conteúdo é inferido a partir dos bytes de entrada.

Returns

Um FILE valor que faz referência ao arquivo enviado.

Observações

  • Se você usar destination_path, o arquivo é enviado atomicamente para esse caminho. Você deve ter acesso de escrita ao local de destino, que normalmente é um volume do Unity Catalog.
  • 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 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 arquivo em um 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 pular o upload se um arquivo 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