CREATE FILE FORMAT¶
Cria um formato de arquivo nomeado que descreve um conjunto de dados preparados a serem acessados ou carregados nas tabelas do Snowflake.
Esse comando é compatível com as seguintes variantes:
- CREATE OR ALTER FILE FORMAT: cria um formato de arquivo nomeado se ele não existir ou altera um formato de arquivo existente. 
- Consulte também:
- ALTER FILE FORMAT , DROP FILE FORMAT , SHOW FILE FORMATS , DESCRIBE FILE FORMAT - COPY INTO <local> , COPY INTO <tabela> , CREATE OR ALTER <objeto> 
Sintaxe¶
CREATE [ OR REPLACE ] [ { TEMP | TEMPORARY | VOLATILE } ] FILE FORMAT [ IF NOT EXISTS ] <name>
  [ TYPE = { CSV | JSON | AVRO | ORC | PARQUET | XML | CUSTOM} [ formatTypeOptions ] ]
  [ COMMENT = '<string_literal>' ]
Onde:
formatTypeOptions ::= -- If TYPE = CSV COMPRESSION = AUTO | GZIP | BZ2 | BROTLI | ZSTD | DEFLATE | RAW_DEFLATE | NONE RECORD_DELIMITER = '<string>' | NONE FIELD_DELIMITER = '<string>' | NONE MULTI_LINE = TRUE | FALSE FILE_EXTENSION = '<string>' PARSE_HEADER = TRUE | FALSE SKIP_HEADER = <integer> SKIP_BLANK_LINES = TRUE | FALSE DATE_FORMAT = '<string>' | AUTO TIME_FORMAT = '<string>' | AUTO TIMESTAMP_FORMAT = '<string>' | AUTO BINARY_FORMAT = HEX | BASE64 | UTF8 ESCAPE = '<character>' | NONE ESCAPE_UNENCLOSED_FIELD = '<character>' | NONE TRIM_SPACE = TRUE | FALSE FIELD_OPTIONALLY_ENCLOSED_BY = '<character>' | NONE NULL_IF = ( '<string>' [ , '<string>' ... ] ) ERROR_ON_COLUMN_COUNT_MISMATCH = TRUE | FALSE REPLACE_INVALID_CHARACTERS = TRUE | FALSE EMPTY_FIELD_AS_NULL = TRUE | FALSE SKIP_BYTE_ORDER_MARK = TRUE | FALSE ENCODING = '<string>' | UTF8 -- If TYPE = JSON COMPRESSION = AUTO | GZIP | BZ2 | BROTLI | ZSTD | DEFLATE | RAW_DEFLATE | NONE DATE_FORMAT = '<string>' | AUTO TIME_FORMAT = '<string>' | AUTO TIMESTAMP_FORMAT = '<string>' | AUTO BINARY_FORMAT = HEX | BASE64 | UTF8 TRIM_SPACE = TRUE | FALSE MULTI_LINE = TRUE | FALSE NULL_IF = ( '<string>' [ , '<string>' ... ] ) FILE_EXTENSION = '<string>' ENABLE_OCTAL = TRUE | FALSE ALLOW_DUPLICATE = TRUE | FALSE STRIP_OUTER_ARRAY = TRUE | FALSE STRIP_NULL_VALUES = TRUE | FALSE REPLACE_INVALID_CHARACTERS = TRUE | FALSE IGNORE_UTF8_ERRORS = TRUE | FALSE SKIP_BYTE_ORDER_MARK = TRUE | FALSE -- If TYPE = AVRO COMPRESSION = AUTO | GZIP | BROTLI | ZSTD | DEFLATE | RAW_DEFLATE | NONE TRIM_SPACE = TRUE | FALSE REPLACE_INVALID_CHARACTERS = TRUE | FALSE NULL_IF = ( '<string>' [ , '<string>' ... ] ) -- If TYPE = ORC TRIM_SPACE = TRUE | FALSE REPLACE_INVALID_CHARACTERS = TRUE | FALSE NULL_IF = ( '<string>' [ , '<string>' ... ] ) -- If TYPE = PARQUET COMPRESSION = AUTO | LZO | SNAPPY | NONE SNAPPY_COMPRESSION = TRUE | FALSE BINARY_AS_TEXT = TRUE | FALSE USE_LOGICAL_TYPE = TRUE | FALSE TRIM_SPACE = TRUE | FALSE USE_VECTORIZED_SCANNER = TRUE | FALSE REPLACE_INVALID_CHARACTERS = TRUE | FALSE NULL_IF = ( '<string>' [ , '<string>' ... ] ) -- If TYPE = XML COMPRESSION = AUTO | GZIP | BZ2 | BROTLI | ZSTD | DEFLATE | RAW_DEFLATE | NONE IGNORE_UTF8_ERRORS = TRUE | FALSE PRESERVE_SPACE = TRUE | FALSE STRIP_OUTER_ELEMENT = TRUE | FALSE DISABLE_AUTO_CONVERT = TRUE | FALSE REPLACE_INVALID_CHARACTERS = TRUE | FALSE SKIP_BYTE_ORDER_MARK = TRUE | FALSE
Sintaxe da variante¶
CREATE OR ALTER FILE FORMAT¶
Cria um novo formato de arquivo nomeado, se ainda não existir, ou transforma um formato de arquivo existente no formato definido na instrução. Uma instrução CREATE OR ALTER FILE FORMAT segue as regras de sintaxe de uma instrução CREATE FILE FORMAT e tem as mesmas limitações de uma instrução ALTER FILE FORMAT.
As alterações aceitas incluem mudanças nas propriedades formatTypeOptions e COMMENT. Você não pode alterar a propriedade TYPE.
Para obter mais informações, consulte Notas de uso CREATE OR ALTER FILE FORMAT.
CREATE OR ALTER [ { TEMP | TEMPORARY | VOLATILE } ] FILE FORMAT <name>
  [ TYPE = { CSV | JSON | AVRO | ORC | PARQUET | XML | CUSTOM } [ formatTypeOptions ] ]
  [ COMMENT = '<string_literal>' ]
Parâmetros obrigatórios¶
- name
- Especifica o identificador do formato do arquivo; deve ser único para o esquema no qual o formato do arquivo é criado. - O valor do identificador deve começar com um caractere alfabético e não pode conter espaços ou caracteres especiais, a menos que toda a cadeia de caracteres do identificador esteja entre aspas duplas (por exemplo, - "My object"), os identificadores entre aspas duplas também diferenciam letras maiúsculas de minúsculas.- Para obter mais detalhes, consulte Requisitos para identificadores. 
Parâmetros opcionais¶
- { TEMP | TEMPORARY | VOLATILE }
- Especifica que o formato do arquivo persiste apenas durante a sessão em que você o criou. Um formato de arquivo temporário é descartado no fim da sessão. - Padrão: sem valor. Se um formato de arquivo não for declarado como - TEMPORARY, o formato do arquivo será permanente.- Se você deseja evitar conflitos inesperados, evite nomear formatos de arquivo temporário como formatos de arquivo que já existem no esquema. - Se você criou um formato de arquivo temporário com o mesmo nome de outro formato de arquivo no esquema, todas as consultas e operações usadas no formato de arquivo afetarão apenas o formato de arquivo temporário na sessão, até que você descarte o formato de arquivo temporário. Se você descartar o formato de arquivo usando um comando DROP FILE FORMAT, você descartará o formato de arquivo temporário e não o formato de arquivo que já existe no esquema. 
- TYPE = CSV | JSON | AVRO | ORC | PARQUET | XML [ ... ]
- Especifica o formato dos arquivos de entrada (para carregamento de dados) ou de saída (para descarregamento de dados). Dependendo do tipo de formato, você pode especificar opções adicionais específicas do formato. Para obter mais informações, consulte Opções do tipo de formato (neste tópico). - Os valores válidos dependem do fato de o formato do arquivo ser para carregar ou descarregar dados: - CSV(para carregamento ou descarregamento)
- Qualquer arquivo de texto simples e delimitado que use caracteres específicos, como os seguintes: - Separadores para campos dentro de registros (por exemplo, vírgulas). 
- Separadores para registros (por exemplo, caracteres de nova linha). 
 - Embora o nome (CSV) sugira valores separados por vírgula, você pode usar qualquer caractere válido como separador de campo. 
- JSON(para carregamento ou descarregamento)
- Qualquer arquivo de texto simples contendo um ou mais documentos JSON (como objetos ou matrizes). JSON é um formato de arquivo semiestruturado. Os documentos podem ser separados por vírgulas e, opcionalmente, anexados em uma grande matriz. Um único documento JSON pode abranger várias linhas. - Nota - Ao carregar dados de arquivos em tabelas, o Snowflake oferece suporte tanto ao formato padrão NDJSON (Newline Delimited JSON) quanto ao formato JSON separado por vírgula. 
- Quando você descarrega dados da tabela em arquivos, o Snowflake gera saída somente para o formato NDJSON. 
 
- AVRO(apenas para carregamento; você não pode descarregar dados para o formato AVRO)
- Arquivo binário no formato AVRO. 
- ORC(apenas para carregamento; você não pode descarregar dados para o formato ORC)
- Arquivo binário no formato ORC. 
- PARQUET(para carregamento ou descarregamento)
- Arquivo binário no formato PARQUET. 
- XML(apenas para carregamento; você não pode descarregar dados para o formato XML)
- Arquivo de texto simples contendo elementos XML. 
- CUSTOM(somente para carregar dados não estruturados)
- 
Este tipo de formato especifica que o estágio subjacente contém dados não estruturados e só pode ser usado com a opção de cópia FILE_PROCESSOR.
 - Para mais informações sobre CSV, consulte Notas de uso neste tópico. Para obter mais informações sobre JSON e os outros formatos de arquivos semiestruturados, consulte Introdução ao carregamento de dados semiestruturados. Para mais informações sobre o tipo - CUSTOM, consulte Carregamento de dados não estruturados com Document AI.- Padrão: - CSV
- COMMENT = 'string_literal'
- Especifica um comentário para o formato do arquivo. - Padrão: sem valor 
Opções de tipo de formato (formatTypeOptions)¶
Dependendo do tipo de formato de arquivo especificado (TYPE = ...), você pode incluir uma ou mais das seguintes opções de formato específicas (separadas por espaços em branco, vírgulas ou novas linhas):
TYPE = CSV¶
- COMPRESSION = AUTO | GZIP | BZ2 | BROTLI | ZSTD | DEFLATE | RAW_DEFLATE | NONE
- Uso:
- Carregamento de dados, descarregamento de dados e tabelas externas 
- Definição:
- Ao carregar dados, especifica o algoritmo de compressão atual para o arquivo de dados. O Snowflake usa esta opção para detectar como um arquivo de dados já comprimido foi comprimido para que os dados comprimidos no arquivo possam ser extraídos para carregamento. 
- Ao descarregar os dados, comprime o arquivo de dados usando o algoritmo de compressão especificado. 
 
- Valores:
- Valores suportados - Notas - AUTO- Ao carregar dados, o algoritmo de compressão detectado automaticamente, exceto para arquivos comprimidos com Brotli, que atualmente não podem ser detectados automaticamente. Ao descarregar os dados, os arquivos são automaticamente comprimidos usando o padrão, que é o gzip. - GZIP- BZ2- BROTLI- Deve ser especificado ao carregar/descarregar arquivos comprimidos com Brotli. - ZSTD- Zstandard v0.8 (e superior) é suportado. - DEFLATE- Arquivos compactados Deflate (com cabeçalho zlib, RFC1950). - RAW_DEFLATE- Arquivos compactados Raw Deflate (sem cabeçalho, RFC1951). - NONE- Ao carregar dados, indica que os arquivos não foram comprimidos. Ao descarregar os dados, especifica que os arquivos descarregados não são comprimidos. 
- Padrão:
- AUTO
 
- RECORD_DELIMITER = 'string' | NONE
- Uso:
- Carregamento de dados, descarregamento de dados e tabelas externas 
- Definição:
- Um ou mais caracteres de byte único ou multibyte que separam registros em um arquivo de entrada (carregamento de dados) ou arquivo não carregado (descarregamento de dados). Aceita sequências de escape comuns ou os seguintes caracteres de byte único ou multibyte: - Caracteres de byte único:
- Valores octais (com prefixo - \\) ou valores hexadecimais (com prefixo- 0xou- \x). Por exemplo, para registros delimitados por acento circunflexo (- ^), especifique o valor octal (- \\136) ou hexadecimal (- 0x5e).
- Caracteres multibyte:
- Valores hexadecimais (com prefixo - \x). Por exemplo, para registros delimitados pelo caractere de centavo (- ¢), especifique o valor hexadecimal (- \xC2\xA2).- O delimitador para RECORD_DELIMITER ou FIELD_DELIMITER não pode ser uma subcadeia de caracteres do delimitador para a outra opção de formato de arquivo (por exemplo, - FIELD_DELIMITER = 'aa' RECORD_DELIMITER = 'aabb').
 - O delimitador especificado deve ser um caractere válido UTF-8 e não uma sequência aleatória de bytes. Observe também que o delimitador é limitado a um máximo de 20 caracteres. - Também aceita um valor de - NONE.
- Padrão:
- Carregamento de dados:
- Caractere de nova linha. Note que a “nova linha” é lógica de tal forma que - \r\nserá entendido como uma nova linha para arquivos em uma plataforma Windows.
- Descarregamento de dados:
- Caractere de nova linha ( - \n).
 
 
- FIELD_DELIMITER = 'string' | NONE
- Uso:
- Carregamento de dados, descarregamento de dados e tabelas externas 
- Definição:
- Um ou mais caracteres de byte único ou multibyte que separam campos em um arquivo de entrada (carregamento de dados) ou arquivo não carregado (descarregamento de dados). Aceita sequências de escape comuns ou os seguintes caracteres de byte único ou multibyte: - Caracteres de byte único:
- Valores octais (com prefixo - \\) ou valores hexadecimais (com prefixo- 0xou- \x). Por exemplo, para registros delimitados por acento circunflexo (- ^), especifique o valor octal (- \\136) ou hexadecimal (- 0x5e).
- Caracteres multibyte:
- Valores hexadecimais (com prefixo - \x). Por exemplo, para registros delimitados pelo caractere de centavo (- ¢), especifique o valor hexadecimal (- \xC2\xA2).- O delimitador para RECORD_DELIMITER ou FIELD_DELIMITER não pode ser uma subcadeia de caracteres do delimitador para a outra opção de formato de arquivo (por exemplo, - FIELD_DELIMITER = 'aa' RECORD_DELIMITER = 'aabb').- Nota - Para caracteres não ASCII, você deve usar o valor da sequência de bytes hexadecimais para obter um comportamento determinístico. 
 - O delimitador especificado deve ser um caractere válido UTF-8 e não uma sequência aleatória de bytes. Observe também que o delimitador é limitado a um máximo de 20 caracteres. - Também aceita um valor de - NONE.
- Padrão:
- vírgula ( - ,)
 
- MULTI_LINE = TRUE | FALSE
- Uso:
- Carregamento de dados e tabelas externas 
- Definição:
- Booliano que especifica se várias linhas são permitidas. Se MULTI_LINE estiver definido como - FALSEe o delimitador de registro especificado estiver presente em um campo CSV, o registro que contém o campo será interpretado como um erro.
- Padrão:
- TRUE
 - Nota - Se você estiver carregando arquivos CSV grandes não compactados (maiores que 128MB) que seguem a especificação RFC4180, o Snowflake oferece suporte à verificação paralela desses arquivos CSV quando MULTI_LINE está definido como - FALSE, COMPRESSION está definido como- NONEe ON_ERROR está definido como- ABORT_STATEMENTou- CONTINUE.
- FILE_EXTENSION = 'string' | NONE
- Uso:
- Apenas descarregamento de dados 
- Definição:
- Especifica a extensão para arquivos descarregados em um estágio. Aceita qualquer extensão. O usuário é responsável por especificar uma extensão de arquivo que possa ser lida por qualquer software ou serviços desejados. 
- Padrão:
- nulo, ou seja, a extensão do arquivo é determinada pelo tipo de formato: - .csv[compression], em que- compressioné a extensão adicionada pelo método de compressão, se- COMPRESSIONestiver definido.
 - Nota - Se a opção de cópia - SINGLEfor- TRUE, então o comando COPY descarrega um arquivo sem uma extensão de arquivo por padrão. Para especificar uma extensão de arquivo, forneça um nome de arquivo e uma extensão no caminho- internal_locationou- external_location(por exemplo,- copy into @stage/data.csv).
- PARSE_HEADER = TRUE | FALSE
- Uso:
- Somente carregamento de dados 
- Definição:
- Booliano que especifica se deve usar os cabeçalhos da primeira linha nos arquivos de dados para determinar os nomes das colunas. 
 - Esta opção de formato de arquivo é aplicada apenas às seguintes ações: - Detecção automática de definições de coluna usando a função INFER_SCHEMA. 
- Carregamento de dados CSV em colunas separadas usando a função INFER_SCHEMA e a opção de cópia MATCH_BY_COLUMN_NAME. 
 - Se a opção estiver definida como TRUE, os cabeçalhos da primeira linha serão usados para determinar os nomes das colunas. O valor padrão FALSE retornará os nomes das colunas como c , onde é a posição da coluna. - Nota - Esta opção não é suportada para tabelas externas. 
- A opção SKIP_HEADER não é suportada se você definir - PARSE_HEADER = TRUE.
 - Padrão:
- FALSE
 
- SKIP_HEADER = integer
- Uso:
- Carregamento de dados e tabelas externas 
- Definição:
- Número de linhas no início do arquivo a ser pulado. 
 - Observe que SKIP_HEADER não usa os valores RECORD_DELIMITER ou FIELD_DELIMITER para determinar o que é uma linha de cabeçalho; em vez disso, simplesmente ignora o número especificado de linhas delimitadas de CRLF (Carriage Return, Line Feed) no arquivo. RECORD_DELIMITER e FIELD_DELIMITER são então usados para determinar as linhas de dados a serem carregadas. - Padrão:
- 0
 
- SKIP_BLANK_LINES = TRUE | FALSE
- Uso:
- Carregamento de dados e tabelas externas 
- Definição:
- Booliano que especifica ignorar quaisquer linhas em branco encontradas nos arquivos de dados; caso contrário, linhas em branco produzem um erro de fim de registro (comportamento padrão). 
- Padrão:
- FALSE
 
- DATE_FORMAT = 'string' | AUTO
- Uso:
- Carregamento e descarregamento de dados 
- Definição:
- Define o formato dos valores das datas nos arquivos de dados (carregamento de dados) ou tabela (descarregamento de dados). Se um valor não estiver especificado ou for - AUTO, é usado o valor para o parâmetro DATE_INPUT_FORMAT (carregamento de dados) ou DATE_OUTPUT_FORMAT (descarregamento de dados).
- Padrão:
- AUTO
 
- TIME_FORMAT = 'string' | AUTO
- Uso:
- Carregamento e descarregamento de dados 
- Definição:
- Define o formato dos valores de hora nos arquivos de dados (carregamento de dados) ou tabela (descarregamento de dados). Se um valor não estiver especificado ou for - AUTO, é usado o valor para o parâmetro TIME_INPUT_FORMAT (carregamento de dados) ou TIME_OUTPUT_FORMAT (descarregamento de dados).
- Padrão:
- AUTO
 
- TIMESTAMP_FORMAT = string' | AUTO
- Uso:
- Carregamento e descarregamento de dados 
- Definição:
- Define o formato dos valores ds carimbo de data/hora nos arquivos de dados (carregamento de dados) ou tabela (descarregamento de dados). Se um valor não estiver especificado ou for - AUTO, é usado o valor para o parâmetro TIMESTAMP_INPUT_FORMAT (carregamento de dados) ou TIMESTAMP_OUTPUT_FORMAT (descarregamento de dados).
- Padrão:
- AUTO
 
- BINARY_FORMAT = HEX | BASE64 | UTF8
- Uso:
- Carregamento e descarregamento de dados 
- Definição:
- Define o formato de codificação para entrada ou saída binária. A opção pode ser usada ao carregar ou descarregar dados de colunas binárias em uma tabela. 
- Padrão:
- HEX
 
- ESCAPE = 'character' | NONE
- Uso:
- Carregamento e descarregamento de dados 
- Definição:
- Uma cadeia de caracteres de caractere de byte único usada como caractere de escape para valores de campo delimitados ou não delimitados. Um caractere de escape invoca uma interpretação alternativa em caracteres subsequentes em uma sequência de caracteres. Você pode usar o caractere ESCAPE para interpretar instâncias do caractere - FIELD_OPTIONALLY_ENCLOSED_BYnos dados como literais.- Aceita sequências de escape comuns, valores octais ou valores hexadecimais. 
- Carregamento de dados:
- Especifica o caractere de escape somente para campos delimitados. Especifique o caractere usado para delimitar os campos definindo - FIELD_OPTIONALLY_ENCLOSED_BY.- Nota - Esta opção de formato de arquivo oferece suporte somente a caracteres de byte único. Observe que a codificação de caractere UTF-8 representa caracteres ASCII de ordem superior como caracteres multibyte. Se seu arquivo de dados for codificado com o conjunto de caracteres UTF-8, você não poderá especificar um caractere ASCII de ordem superior como o valor da opção. - Além disso, se você especificar um caractere ASCII de ordem superior, recomendamos que você defina a opção de formato de arquivo - ENCODING = 'string'como a codificação de caracteres para seus arquivos de dados para garantir que o caractere seja interpretado corretamente.
- Descarregamento de dados:
- Se esta opção for definida, ela substitui o conjunto de caracteres de escape para - ESCAPE_UNENCLOSED_FIELD.
- Padrão:
- NONE
 
- ESCAPE_UNENCLOSED_FIELD = 'character' | NONE
- Uso:
- Carregamento de dados, descarregamento de dados e tabelas externas 
- Definição:
- Uma cadeia de caracteres de caractere de byte único usada como caractere de escape apenas para valores de campo não delimitados. Um caractere de escape invoca uma interpretação alternativa em caracteres subsequentes em uma sequência de caracteres. Você pode usar o caractere ESCAPE para interpretar instâncias dos caracteres - FIELD_DELIMITERou- RECORD_DELIMITERnos dados como literais. O caractere de escape também pode ser usado para escapar de instâncias de si mesmo nos dados.- Aceita sequências de escape comuns, valores octais ou valores hexadecimais. 
- Carregamento de dados:
- Especifica o caractere de escape somente para campos não delimitados. - Nota - O valor padrão é - \\. Se uma linha em um arquivo de dados terminar no caractere de barra invertida (- \), este caractere escapa do caractere de linha nova ou de retorno de carro especificado para a opção de formato do arquivo- RECORD_DELIMITER. Como resultado, a operação de carregamento trata esta linha e a próxima linha como uma única linha de dados. Para evitar este problema, defina o valor como- NONE.
- Esta opção de formato de arquivo oferece suporte somente a caracteres de byte único. Observe que a codificação de caractere UTF-8 representa caracteres ASCII de ordem superior como caracteres multibyte. Se seu arquivo de dados for codificado com o conjunto de caracteres UTF-8, você não poderá especificar um caractere ASCII de ordem superior como o valor da opção. - Além disso, se você especificar um caractere ASCII de ordem superior, recomendamos que você defina a opção de formato de arquivo - ENCODING = 'string'como a codificação de caracteres para seus arquivos de dados para garantir que o caractere seja interpretado corretamente.
 
- Descarregamento de dados:
- Se - ESCAPEestiver definido, o conjunto de caracteres de escape para aquela opção de formato de arquivo substitui esta opção.
- Padrão:
- barra invertida ( - \\)
 
- TRIM_SPACE = TRUE | FALSE
- Uso:
- Carregamento de dados e tabelas externas 
- Definição:
- Booliano que especifica se é necessário remover o espaço em branco dos campos. - Por exemplo, se seu software de banco de dados externo delimita os campos com aspas, mas insere um espaço à esquerda, o Snowflake lê o espaço à esquerda em vez do caractere de abertura de aspas como o início do campo (ou seja, as aspas são interpretadas como parte da cadeia de caracteres de dados do campo). Defina esta opção como - TRUEpara remover espaços indesejáveis durante o carregamento de dados.- Como outro exemplo, se os espaços no início e no final das aspas que delimitam as cadeias de caracteres, você pode remover esses espaços usando esta opção e o caractere de aspas usando a opção - FIELD_OPTIONALLY_ENCLOSED_BY. Note que quaisquer espaços entre as aspas são preservados. Por exemplo, considerando- FIELD_DELIMITER = '|'e- FIELD_OPTIONALLY_ENCLOSED_BY = '"':- |"Hello world"| /* loads as */ >Hello world< |" Hello world "| /* loads as */ > Hello world < | "Hello world" | /* loads as */ >Hello world< - (os parênteses neste exemplo não são carregados; eles são usados para demarcar o início e o fim das cadeias de caracteres carregadas) 
- Padrão:
- FALSE
 
- FIELD_OPTIONALLY_ENCLOSED_BY = 'character' | NONE
- Uso:
- Carregamento de dados, descarregamento de dados e tabelas externas 
- Definição:
- Caractere usado para delimitar as cadeias de caracteres. O valor pode ser - NONE, caractere de aspas simples (- ') ou caractere de aspas duplas (- "). Para usar o caractere de aspas simples, use a representação octal ou hexadecimal (- 0x27) ou o escape de aspas simples dupla (- '').- Apenas descarregamento de dados:
- Quando um campo na tabela de origem contém esse caractere, o Snowflake o escapa usando o mesmo caractere para descarregamento. Por exemplo, se o valor for o caractere de aspas duplas e um campo contiver a cadeia de caracteres - A "B" C, o Snowflake aplica o escape das aspas duplas para descarregamento como segue:- A ""B"" C
 
- Padrão:
- NONE
 
- NULL_IF = ( 'string1' [ , 'string2' , ... ] )
- Uso:
- Carregamento de dados, descarregamento de dados e tabelas externas 
- Definição:
- Cadeia de caracteres usada para converter de e para SQL NULL: - Ao carregar dados, o Snowflake substitui estes valores na fonte de carregamento de dados por SQL NULL. Para especificar mais de uma cadeia de caracteres, coloque a lista de cadeias de caracteres entre parênteses e use vírgulas para separar cada valor. - Observe que o Snowflake converte todas as instâncias do valor em NULL, independentemente do tipo de dados. Por exemplo, se - 2for especificado como um valor, todas as instâncias de- 2como uma cadeia de caracteres ou número são convertidas.- Por exemplo: - NULL_IF = ('\N', 'NULL', 'NUL', '')- Observe que esta opção pode incluir cadeias de caracteres vazias. 
- Ao descarregar dados, o Snowflake converte os valores SQL NULL para o primeiro valor da lista. 
 
- Padrão:
- \N(ou seja, NULL, que pressupõe que o valor de- ESCAPE_UNENCLOSED_FIELDé- \)
 
- ERROR_ON_COLUMN_COUNT_MISMATCH = TRUE | FALSE
- Uso:
- Somente carregamento de dados 
- Definição:
- Booliano que especifica se deve gerar um erro de análise se o número de colunas delimitadas (isto é, campos) em um arquivo de entrada não corresponder ao número de colunas na tabela correspondente. - Se definido como - FALSE, um erro não é gerado e o carregamento continua. Se o arquivo for carregado com sucesso:- Se o arquivo de entrada tiver registros com mais campos do que colunas na tabela, os campos correspondentes serão carregados em ordem de ocorrência no arquivo e os campos restantes não serão carregados. 
- Se o arquivo de entrada tiver registros com menos campos do que colunas na tabela, as colunas não correspondentes na tabela são carregadas com valores NULL. 
 - Esta opção considera que todos os registros dentro do arquivo de entrada têm o mesmo comprimento (ou seja, um arquivo contendo registros de comprimento variável retorna um erro independentemente do valor especificado para este parâmetro). 
- Padrão:
- TRUE
 - Nota - Ao transformar dados durante o carregamento (isto é, usando uma consulta como fonte do comando COPY), esta opção é ignorada. Não há exigência de que seus arquivos de dados tenham o mesmo número e ordenação de colunas que sua tabela de destino. 
- REPLACE_INVALID_CHARACTERS = TRUE | FALSE
- Uso:
- Somente carregamento de dados 
- Definição:
- Booliano que especifica se deve substituir os caracteres UTF-8 inválidos pelo caractere de substituição Unicode ( - �).
 - Se definido como - TRUE, o Snowflake substitui os caracteres inválidos UTF-8 pelo caractere de substituição Unicode.- Se definido como - FALSE, a operação de carregamento produz um erro quando a codificação de caracteres UTF-8 inválida é detectada.- Padrão:
- FALSE
 
- EMPTY_FIELD_AS_NULL = TRUE | FALSE
- Uso:
- Carregamento de dados, descarregamento de dados e tabelas externas 
- Definição:
- Ao carregar dados, especifica se você deve inserir SQL NULL para campos vazios em um arquivo de entrada, que são representados por dois delimitadores sucessivos (por exemplo, - ,,).- Se definido como - FALSE, o Snowflake tenta converter um campo vazio no tipo de coluna correspondente. Uma cadeia de caracteres vazia é inserida em colunas do tipo STRING. Para outros tipos de colunas, o comando COPY produz um erro.
- Ao descarregar os dados, esta opção é utilizada em combinação com - FIELD_OPTIONALLY_ENCLOSED_BY. Quando- FIELD_OPTIONALLY_ENCLOSED_BY = NONE, a definição de- EMPTY_FIELD_AS_NULL = FALSEespecifica para descarregar cadeias de caracteres vazias em tabelas para valores de cadeias de caracteres vazias sem aspas delimitando os valores de campo.- Se definido como - TRUE,- FIELD_OPTIONALLY_ENCLOSED_BYdeve especificar um caractere para delimitar cadeias de caracteres.
 
- Padrão:
- TRUE
 
- SKIP_BYTE_ORDER_MARK = TRUE | FALSE
- Uso:
- Somente carregamento de dados 
- Definição:
- Booliano que especifica se deve ignorar o BOM (marca de ordem de byte), se presente em um arquivo de dados. Um BOM é um código de caracteres no início de um arquivo de dados que define a ordem de bytes e a forma de codificação. - Se definido como - FALSE, o Snowflake reconhece qualquer BOM nos arquivos de dados, o que poderia resultar no BOM causando um erro ou sendo fundido na primeira coluna da tabela.
- Padrão:
- TRUE
 
- ENCODING = 'string'
- Uso:
- Carregamento de dados e tabelas externas 
- Definição:
- Cadeia de caracteres (constante) que especifica o conjunto de caracteres dos dados de origem ao carregar dados em uma tabela. - Conjunto de caracteres - Valor - ENCODING- Linguagens suportadas - Notas - Big5 - BIG5- Chinês Tradicional - EUC-JP - EUCJP- Japonês - EUC-KR - EUCKR- Coreano - GB18030 - GB18030- Chinês - IBM420 - IBM420- Árabe - IBM424 - IBM424- Hebraico - IBM949 - IBM949- Coreano - ISO-2022-CN - ISO2022CN- Chinês simplificado - ISO-2022-JP - ISO2022JP- Japonês - ISO-2022-KR - ISO2022KR- Coreano - ISO-8859-1 - ISO88591- Alemão, Dinamarquês, Espanhol, Francês, Holandês, Inglês, Italiano, Norueguês, Português, Sueco - ISO-8859-2 - ISO88592- Tcheco, Húngaro, Polonês, Romeno - ISO-8859-5 - ISO88595- Russo - ISO-8859-6 - ISO88596- Árabe - ISO-8859-7 - ISO88597- Grego - ISO-8859-8 - ISO88598- Hebraico - ISO-8859-9 - ISO88599- Turco - ISO-8859-15 - ISO885915- Alemão, Dinamarquês, Espanhol, Francês, Holandês, Inglês, Italiano, Norueguês, Português, Sueco - Idêntico a ISO-8859-1 exceto para 8 caracteres, incluindo o símbolo da moeda Euro. - KOI8-R - KOI8R- Russo - Shift_JIS - SHIFTJIS- Japonês - UTF-8 - UTF8- Todos os idiomas - Para carregar dados de arquivos delimitados (CSV, TSV etc.), UTF-8 é o padrão. . . Para carregar dados de todos os outros formatos de arquivo suportados (JSON, Avro etc.), bem como descarregar dados, o UTF-8 é o único conjunto de caracteres suportado. - UTF-16 - UTF16- Todos os idiomas - UTF-16BE - UTF16BE- Todos os idiomas - UTF-16LE - UTF16LE- Todos os idiomas - UTF-32 - UTF32- Todos os idiomas - UTF-32BE - UTF32BE- Todos os idiomas - UTF-32LE - UTF32LE- Todos os idiomas - windows-874 - WINDOWS874- Tailandês - windows-949 - WINDOWS949- Coreano - windows-1250 - WINDOWS1250- Tcheco, Húngaro, Polonês, Romeno - windows-1251 - WINDOWS1251- Russo - windows-1252 - WINDOWS1252- Alemão, Dinamarquês, Espanhol, Francês, Holandês, Inglês, Italiano, Norueguês, Português, Sueco - windows-1253 - WINDOWS1253- Grego - windows-1254 - WINDOWS1254- Turco - windows-1255 - WINDOWS1255- Hebraico - windows-1256 - WINDOWS1256- Árabe 
- Padrão:
- UTF8
 - Nota - O Snowflake armazena todos os dados internamente no conjunto de caracteres UTF-8. Os dados são convertidos em UTF-8 antes de serem carregados no Snowflake. 
TYPE = JSON¶
- COMPRESSION = AUTO | GZIP | BZ2 | BROTLI | ZSTD | DEFLATE | RAW_DEFLATE | NONE
- Uso:
- Carregamento de dados e tabelas externas 
- Definição:
- Ao carregar dados, especifica o algoritmo de compressão atual para o arquivo de dados. O Snowflake usa esta opção para detectar como um arquivo de dados já comprimido foi comprimido para que os dados comprimidos no arquivo possam ser extraídos para carregamento. 
- Ao descarregar os dados, comprime o arquivo de dados usando o algoritmo de compressão especificado. 
 
- Valores:
- Valores suportados - Notas - AUTO- Ao carregar dados, o algoritmo de compressão detectado automaticamente, exceto para arquivos comprimidos com Brotli, que atualmente não podem ser detectados automaticamente. Ao descarregar os dados, os arquivos são automaticamente comprimidos usando o padrão, que é o gzip. - GZIP- BZ2- BROTLI- Deve ser especificado se carregar/descarregar arquivos comprimidos com Brotli. - ZSTD- Zstandard v0.8 (e superior) é suportado. - DEFLATE- Arquivos compactados Deflate (com cabeçalho zlib, RFC1950). - RAW_DEFLATE- Arquivos compactados Raw Deflate (sem cabeçalho, RFC1951). - NONE- Ao carregar dados, indica que os arquivos não foram comprimidos. Ao descarregar os dados, especifica que os arquivos descarregados não são comprimidos. 
- Padrão:
- AUTO
 
- DATE_FORMAT = 'string' | AUTO
- Uso:
- Somente carregamento de dados 
- Definição:
- Define o formato dos valores da cadeia de caracteres de data nos arquivos de dados. Se um valor não for especificado ou for - AUTO, é usado o valor para o parâmetro DATE_INPUT_FORMAT.- Esta opção de formato de arquivo é aplicada apenas às seguintes ações: - Carregamento de dados JSON em colunas separadas usando a opção de cópia MATCH_BY_COLUMN_NAME. 
- Carregamento de dados JSON em colunas separadas especificando uma consulta na instrução COPY (isto é, transformação COPY). 
 
- Padrão:
- AUTO
 
- TIME_FORMAT = 'string' | AUTO
- Uso:
- Somente carregamento de dados 
- Definição:
- Define o formato dos valores da cadeia de caracteres de hora nos arquivos de dados. Se um valor não for especificado ou for - AUTO, é usado o valor para o parâmetro TIME_INPUT_FORMAT.- Esta opção de formato de arquivo é aplicada apenas às seguintes ações: - Carregamento de dados JSON em colunas separadas usando a opção de cópia MATCH_BY_COLUMN_NAME. 
- Carregamento de dados JSON em colunas separadas especificando uma consulta na instrução COPY (isto é, transformação COPY). 
 
- Padrão:
- AUTO
 
- TIMESTAMP_FORMAT = string' | AUTO
- Uso:
- Somente carregamento de dados 
- Definição:
- Define o formato dos valores da cadeia de caracteres de carimbo de data/hora nos arquivos de dados. Se um valor não for especificado ou for - AUTO, é usado o valor para o parâmetro TIMESTAMP_INPUT_FORMAT.- Esta opção de formato de arquivo é aplicada apenas às seguintes ações: - Carregamento de dados JSON em colunas separadas usando a opção de cópia MATCH_BY_COLUMN_NAME. 
- Carregamento de dados JSON em colunas separadas especificando uma consulta na instrução COPY (isto é, transformação COPY). 
 
- Padrão:
- AUTO
 
- BINARY_FORMAT = HEX | BASE64 | UTF8
- Uso:
- Somente carregamento de dados 
- Definição:
- Define o formato de codificação dos valores binários da cadeia de caracteres nos arquivos de dados. A opção pode ser usada no carregamento de dados em colunas binárias em uma tabela. - Esta opção de formato de arquivo é aplicada apenas às seguintes ações: - Carregamento de dados JSON em colunas separadas usando a opção de cópia MATCH_BY_COLUMN_NAME. 
- Carregamento de dados JSON em colunas separadas especificando uma consulta na instrução COPY (isto é, transformação COPY). 
 
- Padrão:
- HEX
 
- TRIM_SPACE = TRUE | FALSE
- Uso:
- Somente carregamento de dados 
- Definição:
- Booliano que especifica se é necessário remover o espaço no início e no final das cadeias de caracteres. - Por exemplo, se seu software de banco de dados externo delimita os campos com aspas, mas insere um espaço à esquerda, o Snowflake lê o espaço à esquerda em vez do caractere de abertura de aspas como o início do campo (ou seja, as aspas são interpretadas como parte da cadeia de caracteres de dados do campo). Defina esta opção como - TRUEpara remover espaços indesejáveis durante o carregamento de dados.- Esta opção de formato de arquivo é aplicada às seguintes ações somente ao carregar dados JSON em colunas separadas usando a opção de cópia MATCH_BY_COLUMN_NAME. 
- Padrão:
- FALSE
 
- MULTI_LINE = TRUE | FALSE
- Uso: carregamento de dados e tabelas externas - Definição:
- Booliano que especifica se várias linhas são permitidas. Se MULTI_LINE estiver definido como - FALSEe uma nova linha estiver presente em um registro JSON, o registro que contém a nova linha será interpretado como um erro.
- Padrão:
- TRUE
 
- NULL_IF = ( 'string1' [ , 'string2' , ... ] )
- Uso:
- Somente carregamento de dados 
- Definição:
- String usada para converter de e para SQL NULL. O Snowflake substitui estas cadeias de caracteres na origem do carregamento de dados por SQL NULL. Para especificar mais de uma cadeia de caracteres, coloque a lista de cadeias de caracteres entre parênteses e use vírgulas para separar cada valor. - Esta opção de formato de arquivo é aplicada às seguintes ações somente ao carregar dados JSON em colunas separadas usando a opção de cópia MATCH_BY_COLUMN_NAME. - Observe que o Snowflake converte todas as instâncias do valor em NULL, independentemente do tipo de dados. Por exemplo, se - 2for especificado como um valor, todas as instâncias de- 2como uma cadeia de caracteres ou número são convertidas.- Por exemplo: - NULL_IF = ('\N', 'NULL', 'NUL', '')- Observe que esta opção pode incluir cadeias de caracteres vazias. 
- Padrão:
- \N(ou seja, NULL)
 
- FILE_EXTENSION = 'string' | NONE
- Uso:
- Apenas descarregamento de dados 
- Definição:
- Especifica a extensão para arquivos descarregados em um estágio. Aceita qualquer extensão. O usuário é responsável por especificar uma extensão de arquivo que possa ser lida por qualquer software ou serviços desejados. 
- Padrão:
- nulo, ou seja, a extensão do arquivo é determinada pelo tipo de formato: - .json[compression], em que- compressioné a extensão adicionada pelo método de compressão, se- COMPRESSIONestiver definido.
 
- ENABLE_OCTAL = TRUE | FALSE
- Uso:
- Somente carregamento de dados 
- Definição:
- Booliano que permite a análise dos números octais. 
- Padrão:
- FALSE
 
- ALLOW_DUPLICATE = TRUE | FALSE
- Uso:
- Carregamento de dados e tabelas externas 
- Definição:
- Booliano que especifica permitir a duplicação de nomes de campos de objetos (somente o último será preservado). 
- Padrão:
- FALSE
 
- STRIP_OUTER_ARRAY = TRUE | FALSE
- Uso:
- Carregamento de dados e tabelas externas 
- Definição:
- Booliano que instrui o analisador JSON a remover parênteses externos (ou seja, - [ ]).
- Padrão:
- FALSE
 
- STRIP_NULL_VALUES = TRUE | FALSE
- Uso:
- Carregamento de dados e tabelas externas 
- Definição:
- Booliano que instrui o analisador JSON a remover campos de objetos ou elementos de matriz contendo valores - null. Por exemplo, quando definido como- TRUE:- Antes - Depois - [null]- []- [null,null,3]- [,,3]- {"a":null,"b":null,"c":123}- {"c":123}- {"a":[1,null,2],"b":{"x":null,"y":88}}- {"a":[1,,2],"b":{"y":88}}
- Padrão:
- FALSE
 
- REPLACE_INVALID_CHARACTERS = TRUE | FALSE
- Uso:
- Carregamento de dados e tabela externa 
- Definição:
- Booliano que especifica se deve substituir os caracteres UTF-8 inválidos pelo caractere de substituição Unicode ( - �). Esta opção realiza uma substituição de caracteres um a um.
- Valores:
- Se definido como - TRUE, o Snowflake substitui os caracteres inválidos UTF-8 pelo caractere de substituição Unicode.- Se definido como - FALSE, a operação de carregamento produz um erro quando a codificação de caracteres UTF-8 inválida é detectada.
- Padrão:
- FALSE
 
- IGNORE_UTF8_ERRORS = TRUE | FALSE
- Uso:
- Carregamento de dados e tabela externa 
- Definição:
- Booliano que especifica se os erros da codificação UTF-8 produzem condições de erro. É uma sintaxe alternativa para - REPLACE_INVALID_CHARACTERS.
- Valores:
- Se definido como - TRUE, qualquer sequência inválida UTF-8 é silenciosamente substituída pelo caractere Unicode- U+FFFD(ou seja, “caractere de substituição”).- Se definido como - FALSE, a operação de carregamento produz um erro quando a codificação de caracteres UTF-8 inválida é detectada.
- Padrão:
- FALSE
 
- SKIP_BYTE_ORDER_MARK = TRUE | FALSE
- Uso:
- Somente carregamento de dados 
- Definição:
- Booliano que especifica se deve ignorar o BOM (marca de ordem de byte), se presente em um arquivo de dados. Um BOM é um código de caracteres no início de um arquivo de dados que define a ordem de bytes e a forma de codificação. - Se definido como - FALSE, o Snowflake reconhece qualquer BOM nos arquivos de dados, o que poderia resultar no BOM causando um erro ou sendo fundido na primeira coluna da tabela.
- Padrão:
- TRUE
 
TYPE = AVRO¶
- COMPRESSION = AUTO | GZIP | BROTLI | ZSTD | DEFLATE | RAW_DEFLATE | NONE
- Uso:
- Somente carregamento de dados 
- Definição:
- Ao carregar dados, especifica o algoritmo de compressão atual para o arquivo de dados. O Snowflake usa esta opção para detectar como um arquivo de dados já comprimido foi comprimido para que os dados comprimidos no arquivo possam ser extraídos para carregamento. 
- Ao descarregar os dados, comprime o arquivo de dados usando o algoritmo de compressão especificado. 
 
- Valores:
- Valores suportados - Notas - AUTO- Ao carregar dados, o algoritmo de compressão detectado automaticamente, exceto para arquivos comprimidos com Brotli, que atualmente não podem ser detectados automaticamente. Ao descarregar os dados, os arquivos são automaticamente comprimidos usando o padrão, que é o gzip. - GZIP- BROTLI- Deve ser especificado se carregar/descarregar arquivos comprimidos com Brotli. - ZSTD- Zstandard v0.8 (e superior) é suportado. - DEFLATE- Arquivos compactados Deflate (com cabeçalho zlib, RFC1950). - RAW_DEFLATE- Arquivos compactados Raw Deflate (sem cabeçalho, RFC1951). - NONE- Ao carregar dados, indica que os arquivos não foram comprimidos. Ao descarregar os dados, especifica que os arquivos descarregados não são comprimidos. 
- Padrão:
- AUTO.
 
Nota
Recomendamos que você use a opção padrão AUTO porque ela determinará a compactação do arquivo e do codec. A especificação de uma opção de compactação refere-se à compactação de arquivos, não à compactação de blocos (codecs).
- TRIM_SPACE = TRUE | FALSE
- Uso:
- Somente carregamento de dados 
- Definição:
- Booliano que especifica se é necessário remover o espaço no início e no final das cadeias de caracteres. - Por exemplo, se seu software de banco de dados externo delimita os campos com aspas, mas insere um espaço à esquerda, o Snowflake lê o espaço à esquerda em vez do caractere de abertura de aspas como o início do campo (ou seja, as aspas são interpretadas como parte da cadeia de caracteres de dados do campo). Defina esta opção como - TRUEpara remover espaços indesejáveis durante o carregamento de dados.- Esta opção de formato de arquivo é aplicada às seguintes ações somente ao carregar dados Avro em colunas separadas usando a opção de cópia MATCH_BY_COLUMN_NAME. 
- Padrão:
- FALSE
 
- REPLACE_INVALID_CHARACTERS = TRUE | FALSE
- Uso:
- Carregamento de dados e tabela externa 
- Definição:
- Booliano que especifica se deve substituir os caracteres UTF-8 inválidos pelo caractere de substituição Unicode ( - �). Esta opção realiza uma substituição de caracteres um a um.
- Valores:
- Se definido como - TRUE, o Snowflake substitui os caracteres inválidos UTF-8 pelo caractere de substituição Unicode.- Se definido como - FALSE, a operação de carregamento produz um erro quando a codificação de caracteres UTF-8 inválida é detectada.
- Padrão:
- FALSE
 
- NULL_IF = ( 'string1' [ , 'string2' , ... ] )
- Uso:
- Somente carregamento de dados 
- Definição:
- String usada para converter de e para SQL NULL. O Snowflake substitui estas cadeias de caracteres na origem do carregamento de dados por SQL NULL. Para especificar mais de uma cadeia de caracteres, coloque a lista de cadeias de caracteres entre parênteses e use vírgulas para separar cada valor. - Esta opção de formato de arquivo é aplicada às seguintes ações somente ao carregar dados Avro em colunas separadas usando a opção de cópia MATCH_BY_COLUMN_NAME. - Observe que o Snowflake converte todas as instâncias do valor em NULL, independentemente do tipo de dados. Por exemplo, se - 2for especificado como um valor, todas as instâncias de- 2como uma cadeia de caracteres ou número são convertidas.- Por exemplo: - NULL_IF = ('\N', 'NULL', 'NUL', '')- Observe que esta opção pode incluir cadeias de caracteres vazias. 
- Padrão:
- \N(ou seja, NULL)
 
TYPE = ORC¶
- TRIM_SPACE = TRUE | FALSE
- Uso:
- Carregamento de dados e tabelas externas 
- Definição:
- Booliano que especifica se é necessário remover o espaço no início e no final das cadeias de caracteres. - Por exemplo, se seu software de banco de dados externo delimita os campos com aspas, mas insere um espaço à esquerda, o Snowflake lê o espaço à esquerda em vez do caractere de abertura de aspas como o início do campo (ou seja, as aspas são interpretadas como parte da cadeia de caracteres de dados do campo). Defina esta opção como - TRUEpara remover espaços indesejáveis durante o carregamento de dados.- Esta opção de formato de arquivo é aplicada às seguintes ações somente ao carregar dados Orc em colunas separadas usando a opção de cópia MATCH_BY_COLUMN_NAME. 
- Padrão:
- FALSE
 
- REPLACE_INVALID_CHARACTERS = TRUE | FALSE
- Uso:
- Carregamento de dados e tabela externa 
- Definição:
- Booliano que especifica se deve substituir os caracteres UTF-8 inválidos pelo caractere de substituição Unicode ( - �). Esta opção realiza uma substituição de caracteres um a um.
- Valores:
- Se definido como - TRUE, o Snowflake substitui os caracteres inválidos UTF-8 pelo caractere de substituição Unicode.- Se definido como - FALSE, a operação de carregamento produz um erro quando a codificação de caracteres UTF-8 inválida é detectada.
- Padrão:
- FALSE
 
- NULL_IF = ( 'string1' [ , 'string2' , ... ] )
- Uso:
- Carregamento de dados e tabelas externas 
- Definição:
- String usada para converter de e para SQL NULL. O Snowflake substitui estas cadeias de caracteres na origem do carregamento de dados por SQL NULL. Para especificar mais de uma cadeia de caracteres, coloque a lista de cadeias de caracteres entre parênteses e use vírgulas para separar cada valor. - Esta opção de formato de arquivo é aplicada às seguintes ações somente ao carregar dados Orc em colunas separadas usando a opção de cópia MATCH_BY_COLUMN_NAME. - Observe que o Snowflake converte todas as instâncias do valor em NULL, independentemente do tipo de dados. Por exemplo, se - 2for especificado como um valor, todas as instâncias de- 2como uma cadeia de caracteres ou número são convertidas.- Por exemplo: - NULL_IF = ('\N', 'NULL', 'NUL', '')- Observe que esta opção pode incluir cadeias de caracteres vazias. 
- Padrão:
- \N(ou seja, NULL)
 
TYPE = PARQUET¶
- COMPRESSION = AUTO | LZO | SNAPPY | NONE
- Uso:
- Descarregamento de dados e tabelas externas 
- Definição:
 - Ao descarregar dados, especifica o algoritmo de compressão para colunas nos arquivos Parquet. 
 - Valores:
- Valores suportados - Notas - AUTO- Ao carregar dados, o algoritmo de compressão é detectado automaticamente. Oferece suporte aos seguintes algoritmos de compressão: Brotli, gzip, Lempel-Ziv-Oberhumer (LZO), LZ4, Snappy ou Zstandard v0.8 (e superior). . Ao descarregar dados, os arquivos descarregados são comprimidos por padrão usando o algoritmo de compressão Snappy. - LZO- Ao descarregar os dados, os arquivos são comprimidos usando o algoritmo Snappy por padrão. Se o descarregamento de dados for feito para arquivos comprimidos por LZO, especifique este valor. - SNAPPY- Ao descarregar os dados, os arquivos são comprimidos usando o algoritmo Snappy por padrão. Opcionalmente, você pode especificar este valor. - NONE- Ao carregar dados, indica que os arquivos não foram comprimidos. Ao descarregar os dados, especifica que os arquivos descarregados não são comprimidos. 
- Padrão:
- AUTO
 
- SNAPPY_COMPRESSION = TRUE | FALSE
- Uso:
- Apenas descarregamento de dados - Valores suportados - Notas - AUTO- Os arquivos descarregados são comprimidos usando o algoritmo de compressão Snappy por padrão. - SNAPPY- Pode ser especificado se for descarregamento de arquivos comprimidos com Snappy. - NONE- Ao carregar dados, indica que os arquivos não foram comprimidos. Ao descarregar os dados, especifica que os arquivos descarregados não são comprimidos. 
- Definição:
- Booliano que especifica se o(s) arquivo(s) descarregado(s) é(são) comprimido(s) usando o algoritmo SNAPPY. 
 - Nota - Obsoleto. Em vez disso, use - COMPRESSION = SNAPPY.- Limitações:
- Só é suportado para operações de descarregamento de dados. 
- Padrão:
- TRUE
 
- BINARY_AS_TEXT = TRUE | FALSE
- Uso:
- Carregamento de dados e tabelas externas 
- Definição:
- Booliano que especifica se deve interpretar colunas sem tipo de dados lógicos definidos como texto UTF-8. Quando definido como - FALSE, o Snowflake interpreta estas colunas como dados binários.
- Padrão:
- TRUE
 - Nota - Snowflake recomenda que você defina BINARY_AS_TEXT como FALSE para evitar possíveis problemas de conversão. 
- TRIM_SPACE = TRUE | FALSE
- Uso:
- Somente carregamento de dados 
- Definição:
- Booliano que especifica se é necessário remover o espaço no início e no final das cadeias de caracteres. - Por exemplo, se seu software de banco de dados externo delimita os campos com aspas, mas insere um espaço à esquerda, o Snowflake lê o espaço à esquerda em vez do caractere de abertura de aspas como o início do campo (ou seja, as aspas são interpretadas como parte da cadeia de caracteres de dados do campo). Defina esta opção como - TRUEpara remover espaços indesejáveis durante o carregamento de dados.- Esta opção de formato de arquivo é aplicada às seguintes ações somente ao carregar os dados do Parquet em colunas separadas usando a opção de cópia MATCH_BY_COLUMN_NAME. 
- Padrão:
- FALSE
 
- USE_LOGICAL_TYPE = TRUE | FALSE
- Uso:
- Carregamento de dados, consulta de dados em arquivos preparados e detecção de esquema. 
- Definição:
- Booliano que especifica se devem ser usados tipos lógicos Parquet. Com esta opção de formato de arquivo, Snowflake pode interpretar tipos lógicos Parquet durante o carregamento de dados. Para obter mais informações, consulte Definições do tipo lógico Parquet. Para ativar os tipos lógicos Parquet, defina USE_LOGICAL_TYPE como TRUE ao criar uma nova opção de formato de arquivo. 
- Limitações:
- Não há suporte para descarregamento de dados. 
 
- USE_VECTORIZED_SCANNER = TRUE | FALSE
- Uso:
- Carregamento de dados e consulta de dados em arquivos preparados 
- Definição:
- Booliano que especifica se deve ser usado um scanner vetorizado para carregar arquivos Parquet. 
- Padrão:
- FALSE. Em um futuro BCR, o valor padrão será- TRUE.
 - O uso do scanner vetorizado pode reduzir significativamente a latência para carregar arquivos Parquet, porque este scanner é bem adequado para o formato colunar de um arquivo Parquet. O scanner baixa apenas seções relevantes do arquivo Parquet para a memória, como o subconjunto de colunas selecionadas. - Se - USE_VECTORIZED_SCANNERestiver definido como- TRUE, o scanner vetorizado tem os seguintes comportamentos:- A opção - BINARY_AS_TEXTé sempre tratada como- FALSEe a opção- USE_LOGICAL_TYPEé sempre tratada como- TRUE, não importa qual seja o valor real definido.
- O scanner vetorizado suporta tipos de mapas Parquet. A saída da digitalização de um tipo de mapa é a seguinte: - "my_map": { "k1": "v1", "k2": "v2" } 
- O scanner vetorizado mostra valores - NULLna saída, como demonstra o exemplo a seguir:- "person": { "name": "Adam", "nickname": null, "age": 34, "phone_numbers": [ "1234567890", "0987654321", null, "6781234590" ] } 
- O scanner vetorizado manipula a hora e o carimbo de data/hora da seguinte maneira: - Parquet - Scanner vetorizado do Snowflake - TimeType(isAdjustedToUtc=verdadeiro/falso, unidade=MILLIS/MICROS/NANOS) - TIME - TimestampType(isAdjustedToUtc=verdadeiro, unidade=MILLIS/MICROS/NANOS) - TIMESTAMP_LTZ - TimestampType(isAdjustedToUtc=falso, unidade=MILLIS/MICROS/NANOS) - TIMESTAMP_NTZ - INT96 - TIMESTAMP_LTZ 
 - Se - USE_VECTORIZED_SCANNERestiver definido como- FALSE, o scanner terá os seguintes comportamentos:- Esta opção não suporta mapas Parquet. A saída da digitalização de um tipo de mapa é a seguinte: - "my_map": { "key_value": [ { "key": "k1", "value": "v1" }, { "key": "k2", "value": "v2" } ] } 
- Esta opção não mostra explicitamente os valores - NULLna saída da verificação, como demonstra o exemplo a seguir:- "person": { "name": "Adam", "age": 34 "phone_numbers": [ "1234567890", "0987654321", "6781234590" ] } 
- Esta opção trata da hora e do carimbo de data/hora da seguinte forma: - Parquet - Quando USE_LOGICAL_TYPE = TRUE - Quando USE_LOGICAL_TYPE = FALSE - TimeType(isAdjustedToUtc=verdadeiro/falso, unidade=MILLIS/MICROS) - TIME - TIME (se ConvertedType estiver presente) 
- INTEGER (se ConvertedType estiver não presente) 
 - TimeType(isAdjustedToUtc=verdadeiro/falso, unidade=NANOS) - TIME - INTEGER - TimestampType(isAdjustedToUtc=verdadeiro, unidade=MILLIS/MICROS) - TIMESTAMP_LTZ - TIMESTAMP_NTZ - TimestampType(isAdjustedToUtc=verdadeiro, unidade=NANOS) - TIMESTAMP_LTZ - INTEGER - TimestampType(isAdjustedToUtc=falso, unidade=MILLIS/MICROS) - TIMESTAMP_NTZ - TIMESTAMP_LTZ (se ConvertedType estiver presente) 
- INTEGER (se ConvertedType estiver não presente) 
 - TimestampType(isAdjustedToUtc=falso, unidade=NANOS) - TIMESTAMP_NTZ - INTEGER - INT96 - TIMESTAMP_NTZ - TIMESTAMP_NTZ 
 
- REPLACE_INVALID_CHARACTERS = TRUE | FALSE
- Uso:
- Carregamento de dados e tabela externa 
- Definição:
- Booliano que especifica se deve substituir os caracteres UTF-8 inválidos pelo caractere de substituição Unicode ( - �). Esta opção realiza uma substituição de caracteres um a um.
- Valores:
- Se definido como - TRUE, o Snowflake substitui os caracteres inválidos UTF-8 pelo caractere de substituição Unicode.- Se definido como - FALSE, a operação de carregamento produz um erro quando a codificação de caracteres UTF-8 inválida é detectada.
- Padrão:
- FALSE
 
- NULL_IF = ( 'string1' [ , 'string2' , ... ] )
- Uso:
- Somente carregamento de dados 
- Definição:
- String usada para converter de e para SQL NULL. O Snowflake substitui estas cadeias de caracteres na origem do carregamento de dados por SQL NULL. Para especificar mais de uma cadeia de caracteres, coloque a lista de cadeias de caracteres entre parênteses e use vírgulas para separar cada valor. - Esta opção de formato de arquivo é aplicada às seguintes ações somente ao carregar os dados do Parquet em colunas separadas usando a opção de cópia MATCH_BY_COLUMN_NAME. - Observe que o Snowflake converte todas as instâncias do valor em NULL, independentemente do tipo de dados. Por exemplo, se - 2for especificado como um valor, todas as instâncias de- 2como uma cadeia de caracteres ou número são convertidas.- Por exemplo: - NULL_IF = ('\N', 'NULL', 'NUL', '')- Observe que esta opção pode incluir cadeias de caracteres vazias. 
- Padrão:
- \N(ou seja, NULL)
 
TYPE = XML¶
- COMPRESSION = AUTO | GZIP | BZ2 | BROTLI | ZSTD | DEFLATE | RAW_DEFLATE | NONE
- Uso:
- Somente carregamento de dados 
- Definição:
- Ao carregar dados, especifica o algoritmo de compressão atual para o arquivo de dados. O Snowflake usa esta opção para detectar como um arquivo de dados já comprimido foi comprimido para que os dados comprimidos no arquivo possam ser extraídos para carregamento. 
- Ao descarregar os dados, comprime o arquivo de dados usando o algoritmo de compressão especificado. 
 
- Valores:
- Valores suportados - Notas - AUTO- Ao carregar dados, o algoritmo de compressão detectado automaticamente, exceto para arquivos comprimidos com Brotli, que atualmente não podem ser detectados automaticamente. Ao descarregar os dados, os arquivos são automaticamente comprimidos usando o padrão, que é o gzip. - GZIP- BZ2- BROTLI- Deve ser especificado se carregar/descarregar arquivos comprimidos com Brotli. - ZSTD- Zstandard v0.8 (e superior) é suportado. - DEFLATE- Arquivos compactados Deflate (com cabeçalho zlib, RFC1950). - RAW_DEFLATE- Arquivos compactados Raw Deflate (sem cabeçalho, RFC1951). - NONE- Ao carregar dados, indica que os arquivos não foram comprimidos. Ao descarregar os dados, especifica que os arquivos descarregados não são comprimidos. 
- Padrão:
- AUTO
 
- IGNORE_UTF8_ERRORS = TRUE | FALSE
- Uso:
- Carregamento de dados e tabela externa 
- Definição:
- Booliano que especifica se os erros da codificação UTF-8 produzem condições de erro. É uma sintaxe alternativa para - REPLACE_INVALID_CHARACTERS.
- Valores:
- Se definido como - TRUE, qualquer sequência inválida UTF-8 é silenciosamente substituída pelo caractere Unicode- U+FFFD(ou seja, “caractere de substituição”).- Se definido como - FALSE, a operação de carregamento produz um erro quando a codificação de caracteres UTF-8 inválida é detectada.
- Padrão:
- FALSE
 
- PRESERVE_SPACE = TRUE | FALSE
- Uso:
- Somente carregamento de dados 
- Definição:
- Booliano que especifica se o analisador XML preserva espaços no início e no final no conteúdo de elementos. 
- Padrão:
- FALSE
 
- STRIP_OUTER_ELEMENT = TRUE | FALSE
- Uso:
- Somente carregamento de dados 
- Definição:
- Booliano que especifica se o analisador XML retira o elemento XML externo, expondo elementos de segundo nível como documentos separados. 
- Padrão:
- FALSE
 
- DISABLE_AUTO_CONVERT = TRUE | FALSE
- Uso:
- Somente carregamento de dados 
- Definição:
- Booliano que especifica se o analisador XML desativa a conversão automática de valores numéricos e boolianos de texto para representação nativa. 
- Padrão:
- FALSE
 
- REPLACE_INVALID_CHARACTERS = TRUE | FALSE
- Uso:
- Carregamento de dados e tabela externa 
- Definição:
- Booliano que especifica se deve substituir os caracteres UTF-8 inválidos pelo caractere de substituição Unicode ( - �). Esta opção realiza uma substituição de caracteres um a um.
- Valores:
- Se definido como - TRUE, o Snowflake substitui os caracteres inválidos UTF-8 pelo caractere de substituição Unicode.- Se definido como - FALSE, a operação de carregamento produz um erro quando a codificação de caracteres UTF-8 inválida é detectada.
- Padrão:
- FALSE
 
- SKIP_BYTE_ORDER_MARK = TRUE | FALSE
- Uso:
- Somente carregamento de dados 
- Definição:
- Booliano que especifica se deve ignorar qualquer BOM (marca de ordem de byte) presente em um arquivo de entrada. Um BOM é um código de caracteres no início de um arquivo de dados que define a ordem de bytes e a forma de codificação. - Se definido como - FALSE, o Snowflake reconhece qualquer BOM nos arquivos de dados, o que poderia resultar no BOM causando um erro ou sendo fundido na primeira coluna da tabela.
- Padrão:
- TRUE
 
Requisitos de controle de acesso¶
A função usada para executar essa operação deve ter, no mínimo, os seguintes privilégios:
| Privilégio | Objeto | Notas | 
|---|---|---|
| CREATE FILE FORMAT | Esquema | |
| OWNERSHIP | Formato do arquivo | 
 Note that in a managed access schema, only the schema owner (i.e. the role with the OWNERSHIP privilege on the schema) or a role with the MANAGE GRANTS privilege can grant or revoke privileges on objects in the schema, including future grants. | 
O privilégio USAGE no banco de dados e no esquema pai é necessário para executar operações em qualquer objeto de um esquema. Observe que uma função com privilégio concedido em um esquema permite que essa função resolva o esquema. Por exemplo, uma função com privilégio CREATE concedido em um esquema pode criar objetos nesse esquema sem também ter USAGE concedido nesse esquema.
Para instruções sobre como criar uma função personalizada com um conjunto específico de privilégios, consulte Criação de funções personalizadas.
Para informações gerais sobre concessões de funções e privilégios para executar ações de SQL em objetos protegíveis, consulte Visão geral do controle de acesso.
Notas de uso CREATE OR ALTER FILE FORMAT¶
- Todas as limitações do comando ALTER FILE FORMAT se aplicam. 
- Você não pode transformar um TEMP FILE FORMAT em um FILE FORMAT normal e vice-versa. 
- Você não pode alterar a propriedade TYPE. 
Notas de uso¶
Cuidado
Recriar um formato de arquivo (usando CREATE OR REPLACE FILE FORMAT) anula a associação entre o formato de arquivo e qualquer tabela externa que faça referência a ele. Isso porque uma tabela externa se vincula a um formato de arquivo usando uma ID oculta em vez do formato de arquivo. Nos bastidores, a sintaxe CREATE OR REPLACE descarta um objeto e o recria com uma ID oculta diferente.
Se você tiver que recriar um formato de arquivo após ter sido vinculada uma ou mais tabelas externas, você deverá recriar cada uma das tabelas externas (usando CREATE OR REPLACE EXTERNAL TABLE) para restabelecer a associação. Chame a função GET_DDL para recuperar uma instrução DDL para recriar cada uma das tabelas externas.
- Valores conflitantes do formato de arquivo em uma instrução SQL produzem um erro. Um conflito ocorre quando a mesma opção é especificada várias vezes com valores diferentes (por exemplo, - ...TYPE = 'CSV' ... TYPE = 'JSON'...).
- Em relação aos metadados: - Atenção - Os clientes devem garantir que nenhum dado pessoal (exceto para um objeto do usuário), dados sensíveis, dados controlados por exportação ou outros dados regulamentados sejam inseridos como metadados ao usar o serviço Snowflake. Para obter mais informações, consulte Campos de metadados no Snowflake. 
- As cláusulas - OR REPLACEe- IF NOT EXISTSsão mutuamente exclusivas. Elas não podem ser usadas na mesma instrução.
- Instruções CREATE OR REPLACE <object> são atômicas. Ou seja, quando um objeto é substituído, o objeto antigo é excluído e o novo objeto é criado em uma única transação. 
Exemplos¶
Criar um formato de arquivo CSV chamado my_csv_format que usa todas as opções de formato CSV padrão:
CREATE OR REPLACE FILE FORMAT my_csv_format
  TYPE = CSV
  COMMENT = 'my_file_format';
Altere o my_csv_format para que ele defina as seguintes regras para os arquivos de dados e desfaça o comentário:
- Os campos são delimitados usando o caractere do canal ( - |).
- Os arquivos incluem uma única linha de cabeçalho que será ignorada. 
- As cadeias de caracteres - NULLe- nullserão substituídas por valores NULL.
- As cadeias de caracteres vazias serão interpretadas como valores NULL. 
- Os arquivos serão comprimidos/descomprimidos usando compressão GZIP. 
CREATE OR ALTER FILE FORMAT my_csv_format
  TYPE = CSV
  FIELD_DELIMITER = '|'
  SKIP_HEADER = 1
  NULL_IF = ('NULL', 'null')
  EMPTY_FIELD_AS_NULL = true
  COMPRESSION = gzip;
Criar um formato de arquivo JSON chamado my_json_format que usa todas as opções de formato JSON padrão:
CREATE OR REPLACE FILE FORMAT my_json_format
  TYPE = JSON;
Criar um formato de arquivo PARQUET chamado my_parquet_format que usa tipos lógicos PARQUET, em vez de tipos físicos ou tipos convertidos legados.
CREATE OR REPLACE FILE FORMAT my_parquet_format
  TYPE = PARQUET
  USE_VECTORIZED_SCANNER = TRUE
  USE_LOGICAL_TYPE = TRUE;
