| Entrada | Saída | Alias |
|---|---|---|
| ✔ | ✗ |
Descrição
HiveText lê o formato de serialização de texto usado pelas tabelas do Apache Hive
(o formato gerado pelo LazySimpleSerDe do Hive). É um formato de texto delimitado,
semelhante ao CSV, em que os campos são
separados pelo delimitador padrão do Hive \x01 (Ctrl-A). O delimitador de campos pode ser
configurado por meio de input_format_hive_text_fields_delimiter.
HiveText é um formato apenas de entrada. Os dados não têm linha de cabeçalho: os valores são
mapeados por posição para as colunas da tabela de destino, portanto os nomes e tipos das colunas
são obtidos da tabela (ou de uma estrutura fornecida
explicitamente), em vez de serem inferidos a partir dos dados. Durante a leitura, o ClickHouse analisa
datas e horas no modo best effort (consulte date_time_input_format),
preenche campos finais omitidos com os valores padrão das colunas e ignora campos que não
reconhece.
Dentro de um campo, os valores são analisados usando as mesmas regras de escape do CSV, em vez
dos delimitadores aninhados do Hive. Em particular, uma coluna do tipo
Array é lida a partir da representação
entre colchetes (por exemplo, "['a','b','c']"), e não de valores separados pelo
delimitador de coleção do Hive \x02.
As configurações de delimitadores aninhados não têm efeitoAs configurações
input_format_hive_text_collection_items_delimiter e
input_format_hive_text_map_keys_delimiter são
aceitas por compatibilidade, mas atualmente não são usadas durante a análise.input_format_hive_text_allow_variable_number_of_columns):
linhas com menos campos do que a tabela têm as colunas ausentes preenchidas com
valores padrão, e linhas com campos extras no final têm esses campos extras ignorados.
Exemplo de uso
,) usando
input_format_hive_text_fields_delimiter, para facilitar a leitura dos arquivos de entrada.
Leitura de um arquivo HiveText
hive_data.txt, com campos separados por vírgulas:
hive_data.txt
FORMAT HiveText:
Query
Response
1,3, tem apenas dois campos, então a coluna ausente c
é preenchida com o valor padrão 0.
Número variável de colunas
input_format_hive_text_allow_variable_number_of_columns = 1,
as linhas que têm mais campos do que a tabela simplesmente têm os campos
adicionais ao final ignorados:
hive_extras.txt
Query
Response
input_format_hive_text_allow_variable_number_of_columns = 0
impõe uma contagem estrita de campos, e uma linha com menos campos do que a tabela gera
uma exceção de análise.
Configurações de formato
| Configuração | Descrição | Padrão |
|---|---|---|
input_format_hive_text_fields_delimiter | Delimitador entre campos no Hive Text File | \x01 |
input_format_hive_text_collection_items_delimiter | Delimitador entre itens de coleção (array ou map) no Hive Text File. É aceito, mas atualmente não é usado durante a análise. | \x02 |
input_format_hive_text_map_keys_delimiter | Delimitador entre um par de chave/valor de map no Hive Text File. É aceito, mas atualmente não é usado durante a análise. | \x03 |
input_format_hive_text_allow_variable_number_of_columns | Ignora colunas extras na entrada Hive Text (se o arquivo tiver mais colunas do que o esperado) e trata campos ausentes como valores padrão | 1 |