- Categories:
Funções de arquivo (AI Functions)
TO_FILE¶
Constrói um valor do tipo FILE a partir de um local de arquivo ou de metadados.
Sintaxe¶
Use uma das seguintes opções:
TO_FILE( <stage_name>, <relative_path> ) TO_FILE( <file_url> ) TO_FILE( <metadata> )
Argumentos¶
Especifique o arquivo fornecendo:
stage_nameerelative_pathfile_urlmetadata
Apenas um desses métodos pode ser usado por vez.
stage_nameO nome do estágio em que o arquivo está localizado, como uma cadeia de caracteres, no formato
'@stage_name'.relative_pathO caminho para o arquivo no estágio especificado por
stage_namecomo uma cadeia de caracteres.file_urlUm URL de arquivo com escopo ou estágio válido como uma cadeia de caracteres.
metadataUm OBJECT contendo os atributos FILE necessários. Um FILE deve ter os campos CONTENT_TYPE, SIZE, ETAG e LAST_MODIFIED. Ele também deve especificar a localização do arquivo de uma das seguintes maneiras:
Tanto STAGE quanto RELATIVE_PATH
STAGE_FILE_URL
SCOPED_FILE_URL
Retornos¶
Um FILE que representa o arquivo preparado.
Notas de uso¶
Gera um erro quando:
O URL fornecido não é válido.
O arquivo está em uma área de preparação ao qual o usuário não tem privilégios de acesso.
Os metadados fornecidos não contêm os campos obrigatórios do FILE.
Exemplos¶
Criação de objetos FILE usando TO_FILE¶
Um uso simples da função TO_FILE com um nome de cenário e caminho relativo:
Resultado:
Um uso simples da função TO_FILE com um o URL do arquivo preparado:
Resultado:
Ou use o FILE_URL de um arquivo no diretório da sua área de preparação:
Este exemplo usa a função TO_FILE diretamente com um URL do arquivo com escopo:
Isso mostra um exemplo de construção de um FILE a partir de um objeto que contém os metadados necessários:
Adição de FILE a uma tabela¶
O exemplo a seguir demonstra como criar FILE e armazená-lo em uma tabela e, em seguida, executar várias operações usando essa coluna, incluindo salvar e carregar do Parquet, SnowPipe, conjuntos de dados, exibições materializadas, tabelas dinâmicas e clonagem com Time Travel.
Criação de uma tabela com uma coluna FILE:
Para gravar uma tabela contendo uma coluna FILE em uma área de preparação como um arquivo Parquet e carregá-la de volta:
Crie um conjunto de dados a partir de um arquivo Parquet:
Copie os arquivos Parquet para uma tabela:
Crie um Snowpipe:
Crie uma exibição materializada ou uma tabela dinâmica a partir da tabela:
Armazene arquivos em uma matriz em uma coluna da tabela:
Exemplos de erros¶
Estes exemplos ilustram erros comuns no uso de TO_FILE que resultam na geração de um erro pela função.
O exemplo a seguir cria um FILE a partir de um objeto de metadados, mas omite um campo obrigatório:
O exemplo a seguir é semelhante, mas omite o campo ETAG, que é obrigatório.
O exemplo a seguir mostra tentativas de GROUP BY, ORDER BY e CLUSTER BY em uma coluna FILE, o que não é aceito porque os valores FILE não podem ser comparados.
Este exemplo final usa um nome de área de preparação incorreto, especificamente uma barra no fim do nome. O Snowflake já adiciona uma barra entre o nome da área de preparação e o caminho relativo, resultando em duas barras, e o caminho da área de preparação combinado não especifica nenhum arquivo.
Limitações conhecidas¶
TO_FILE não pode ser usado na cláusula INSERT INTO TABLE <t> VALUES. Em vez disso, use INSERT INTO TABLE <t> SELECT.