Descrição
JSONEachRow.
Exemplo de uso
Exemplo básico
format_json_object_each_row_column_for_object_name.
O valor dessa configuração é definido como o nome de uma coluna, usada como chave JSON de uma linha no objeto resultante.
Saída
test com duas colunas:
JSONObjectEachRow e usar a configuração format_json_object_each_row_column_for_object_name:
Query
Response
Entrada
data.json:
Query
Response
Query
Response
Inserção de dados
Query
- Qualquer ordem dos pares chave-valor no objeto.
- Omitir alguns valores.
Processamento de valores omitidos
DEFAULT expr for especificado, o ClickHouse usará regras de substituição diferentes, dependendo da configuração input_format_defaults_for_omitted_fields.
Considere a tabela a seguir:
Query
- Se
input_format_defaults_for_omitted_fields = 0, o valor padrão dexeaé0(o valor padrão do tipo de dadoUInt32). - Se
input_format_defaults_for_omitted_fields = 1, o valor padrão dexé0, mas o valor padrão deaéx * 2.
Ao inserir dados com
input_format_defaults_for_omitted_fields = 1, o ClickHouse consome mais recursos computacionais do que na inserção com input_format_defaults_for_omitted_fields = 0.Selecionando dados
UserActivity como um exemplo:
SELECT * FROM UserActivity FORMAT JSONEachRow retorna:
JSON.
Qualquer conjunto de bytes pode ser emitido nas strings. Use o formato
JSONEachRow se tiver certeza de que os dados da tabela podem ser formatados como JSON sem perda de informação.Uso de estruturas aninhadas
Nested, poderá inserir dados JSON com a mesma estrutura. Ative esse recurso com a configuração input_format_import_nested_json.
Por exemplo, considere a seguinte tabela:
Query
Nested, o ClickHouse trata cada componente da estrutura aninhada como uma coluna separada (n.s e n.i na nossa tabela). Você pode inserir os dados da seguinte forma:
Query
input_format_import_nested_json=1.
Query
Response
Query
Response
Query
Response