ClickHouse поддерживает широкий спектр форматов данных для ввода и вывода. Среди них есть несколько вариантов JSON, но для ингестии данных чаще всего используется JSONEachRow. Этот формат предполагает один объект JSON на строку, при этом каждый объект отделяется переводом строки.
Примеры
Использование HTTP-интерфейса:
$ echo '{"foo":"bar"}' | curl 'http://localhost:8123/?query=INSERT%20INTO%20test%20FORMAT%20JSONEachRow' --data-binary @-С помощью клиента ClickHouse:
$ echo '{"foo":"bar"}' | clickhouse-client --query="INSERT INTO test FORMAT JSONEachRow"Вместо ручной вставки данных можно воспользоваться инструментом интеграции.
Полезные настройки
input_format_skip_unknown_fieldsпозволяет выполнять вставку JSON, даже если в нём есть дополнительные поля, отсутствующие в схеме таблицы (они будут отброшены).input_format_import_nested_jsonпозволяет выполнять вставку вложенных объектов JSON в столбцы типа Nested.