ALTER FILE FORMAT¶
Modifica as propriedades de um objeto de formato do arquivo existente. Atualmente as únicas ações suportadas são a renomeação do formato do arquivo, alteração das opções de formato do arquivo (com base no tipo) e adição/alteração de um comentário. Para fazer qualquer outra alteração, é necessário descartar o formato do arquivo e depois recriá-lo.
- Consulte também:
CREATE FILE FORMAT , DROP FILE FORMAT , SHOW FILE FORMATS , DESCRIBE FILE FORMAT
Sintaxe¶
ALTER FILE FORMAT [ IF EXISTS ] <name> RENAME TO <new_name>
ALTER FILE FORMAT [ IF EXISTS ] <name> SET { [ formatTypeOptions ] [ COMMENT = '<string_literal>' ] }
Onde:
formatTypeOptions ::= -- If TYPE = CSV COMPRESSION = AUTO | GZIP | BZ2 | BROTLI | ZSTD | DEFLATE | RAW_DEFLATE | NONE RECORD_DELIMITER = '<character>' | NONE FIELD_DELIMITER = '<character>' | NONE 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 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 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_SNOWFLAKE_DATA = TRUE | FALSE DISABLE_AUTO_CONVERT = TRUE | FALSE REPLACE_INVALID_CHARACTERS = TRUE | FALSE SKIP_BYTE_ORDER_MARK = TRUE | FALSE
Parâmetros¶
name
Especifica o identificador do formato do arquivo a ser alterado. Se o identificador contiver espaços ou caracteres especiais, toda a cadeia de caracteres deverá ser delimitada por aspas duplas. Os identificadores delimitados por aspas duplas também diferenciam letras maiúsculas de minúsculas.
RENAME TO new_name
Especifica o novo identificador do formato do arquivo; deve ser único para o esquema.
Para obter mais detalhes, consulte Requisitos para identificadores.
Você pode mover o objeto para um banco de dados e/ou esquema diferente enquanto opcionalmente renomeia o objeto. Para isso, especifique um valor qualificado
new_name
que inclua o novo banco de dados e/ou nome do esquema no formuláriodb_name.schema_name.object_name
ouschema_name.object_name
, respectivamente.Nota
O banco de dados e/ou esquema de destino já deve existir. Além disso, um objeto com o mesmo nome não pode já existir no banco de dados de destino; caso contrário, a instrução retorna um erro.
É proibido mover um objeto para um esquema de acesso gerenciado a menos que o proprietário do objeto (ou seja, a função que tem o privilégio OWNERSHIP sobre o objeto) também possua o esquema de destino.
Quando um objeto é renomeado, outros objetos que fazem referência a ele devem ser atualizados com o novo nome.
SET ...
Especifica as opções/propriedades a serem definidas para o formato do arquivo:
FILE_FORMAT = ( ... )
Modifica as opções específicas do formato para o formato do arquivo. Para obter mais detalhes, consulte Opções do tipo de formato (neste tópico).
COMMENT = 'string_literal'
Adiciona um comentário ou substitui o comentário existente para o formato do arquivo.
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 = 'character' | 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 prefixo0x
ou\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 um substrato do delimitador para a outra opção de formato do 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\n
será entendido como uma nova linha para arquivos em uma plataforma Windows.- Descarregamento de dados:
Caractere de nova linha (
\n
).
FIELD_DELIMITER = 'character' | 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 prefixo0x
ou\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 um substrato do delimitador para a outra opção de formato do 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 (
,
)
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 quecompression
é a extensão adicionada pelo método de compressão, seCOMPRESSION
estiver definido.
Nota
Se a opção de cópia
SINGLE
forTRUE
, 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 caminhointernal_location
ouexternal_location
(por exemplo,copy into @stage/data.csv
).PARSE_HEADER = TRUE | FALSE
- Uso:
Somente carregamento de dados
- Definição:
Booleano 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.
Observe que a opção SKIP_HEADER não é suportada com 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:
Booleano 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_BY
nos 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_DELIMITER
ouRECORD_DELIMITER
nos 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 arquivoRECORD_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 comoNONE
.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
ESCAPE
estiver 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:
Booleano 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
TRUE
para 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, considerandoFIELD_DELIMITER = '|'
eFIELD_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 (''
).Quando um campo contém este caractere, aplique o escape usando o mesmo caractere. Por exemplo, se o valor for o caractere de aspas duplas e um campo tiver a cadeia de caracteres
A "B" C
, aplique o escape das aspas duplas 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
2
for especificado como um valor, todas as instâncias de2
como 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 considera que o valorESCAPE_UNENCLOSED_FIELD
é\\
)
ERROR_ON_COLUMN_COUNT_MISMATCH = TRUE | FALSE
- Uso:
Somente carregamento de dados
- Definição:
Booleano 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:
Booleano 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 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
. QuandoFIELD_OPTIONALLY_ENCLOSED_BY = NONE
, a definição deEMPTY_FIELD_AS_NULL = FALSE
especifica 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_BY
deve especificar um caractere para delimitar cadeias de caracteres.
- Padrão:
TRUE
SKIP_BYTE_ORDER_MARK = TRUE | FALSE
- Uso:
Somente carregamento de dados
- Definição:
Booleano 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-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:
Booleano 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
TRUE
para 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
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
2
for especificado como um valor, todas as instâncias de2
como 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, que considera que o valorESCAPE_UNENCLOSED_FIELD
é\\
)
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 quecompression
é a extensão adicionada pelo método de compressão, seCOMPRESSION
estiver definido.
ENABLE_OCTAL = TRUE | FALSE
- Uso:
Somente carregamento de dados
- Definição:
Booleano 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:
Booleano 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:
Booleano 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:
Booleano que instrui o analisador JSON a remover campos de objetos ou elementos de matriz contendo valores
null
. Por exemplo, quando definido comoTRUE
: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:
Booleano 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:
Booleano 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 UnicodeU+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:
Booleano 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:
Booleano 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
TRUE
para 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:
Booleano 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
2
for especificado como um valor, todas as instâncias de2
como 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, que considera que o valorESCAPE_UNENCLOSED_FIELD
é\\
)
TYPE = ORC¶
TRIM_SPACE = TRUE | FALSE
- Uso:
Carregamento de dados e tabelas externas
- Definição:
Booleano 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
TRUE
para 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:
Booleano 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
2
for especificado como um valor, todas as instâncias de2
como 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, que considera que o valorESCAPE_UNENCLOSED_FIELD
é\\
)
TYPE = PARQUET¶
COMPRESSION = AUTO | LZO | SNAPPY | NONE
- Uso:
Carregamento de dados, descarregamento de dados e tabelas externas
- Definição:
Ao carregar dados, especifica o algoritmo de compressão atual para as colunas nos arquivos Parquet.
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. 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:
Booleano 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:
Booleano 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:
Booleano 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
TRUE
para 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:
Booleano 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.
REPLACE_INVALID_CHARACTERS = TRUE | FALSE
- Uso:
Carregamento de dados e tabela externa
- Definição:
Booleano 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
2
for especificado como um valor, todas as instâncias de2
como 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, que considera que o valorESCAPE_UNENCLOSED_FIELD
é\\
)
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:
Booleano 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 UnicodeU+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:
Booleano 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:
Booleano que especifica se o analisador XML retira o elemento XML externo, expondo elementos de segundo nível como documentos separados.
- Padrão:
FALSE
DISABLE_SNOWFLAKE_DATA = TRUE | FALSE
- Uso:
Somente carregamento de dados
- Definição:
Booleano que especifica se o analisador XML desabilita o reconhecimento das tags de dados semiestruturados do Snowflake.
- Padrão:
FALSE
DISABLE_AUTO_CONVERT = TRUE | FALSE
- Uso:
Somente carregamento de dados
- Definição:
Booleano que especifica se o analisador XML desativa a conversão automática de valores numéricos e booleanos de texto para representação nativa.
- Padrão:
FALSE
REPLACE_INVALID_CHARACTERS = TRUE | FALSE
- Uso:
Carregamento de dados e tabela externa
- Definição:
Booleano 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:
Booleano 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
Notas de uso¶
ALTER FILE FORMAT não oferece suporte às seguintes ações:
Mudança do tipo (CSV, JSON etc.) do formato do arquivo.
Desativação de qualquer opção de formato (ou seja, redefinição das opções para os padrões do tipo).
Anulação (ou seja, remoção) de um comentário.
Para fazer qualquer uma destas mudanças, você deve recriar o formato do arquivo.
Exemplos¶
Renomear o formato do arquivo my_format
como my_new_format
:
ALTER FILE FORMAT IF EXISTS my_format RENAME TO my_new_format;
Especificar vírgula (,
) como delimitador de campo para my_format
(criado nos exemplos CREATE FILE FORMAT):
ALTER FILE FORMAT my_format SET FIELD_DELIMITER=',';