ClickHouse/docs/ru/faq/integration/json-import.md
olgarev 134eaa55e5
DOCSUP-6258: FAQ edit and translate (#21109)
Co-authored-by: ana-uvarova <ana-uvarova@yandex-team.ru>
Co-authored-by: AnaUvarova <64017504+AnaUvarova@users.noreply.github.com>
Co-authored-by: vdimir <vdimir@yandex-team.ru>
Co-authored-by: Olga Revyakina <revolg@yandex-team.ru>
Co-authored-by: Anna <42538400+adevyatova@users.noreply.github.com>
2021-03-04 10:50:14 +03:00

2.0 KiB
Raw Blame History

title toc_hidden toc_priority
Как импортировать JSON в ClickHouse? true 11

Как импортировать JSON в ClickHouse?

ClickHouse поддерживает широкий спектр входных и выходных форматов данных. Среди них есть множество вариаций JSON, но чаще всего для импорта данных используют JSONEachRow: один JSON-объект в строке, каждый объект с новой строки.

Примеры

С помощью HTTP-интерфейса:

$ echo '{"foo":"bar"}' | curl 'http://localhost:8123/?query=INSERT%20INTO%20test%20FORMAT%20JSONEachRow' --data-binary @-

При помощи интефейса CLI:

$ echo '{"foo":"bar"}'  | clickhouse-client ---query="INSERT INTO test FORMAT JSONEachRow"

Чтобы не вставлять данные вручную, используйте одну из готовых библиотек.

Полезные настройки

  • input_format_skip_unknown_fields позволяет импортировать JSON, даже если он содержит дополнительные поля, которых нет в таблице (отбрасывая лишние поля).
  • input_format_import_nested_json позволяет импортировать вложенные JSON-объекты в столбцы типа Nested.

!!! note "Примечание" В HTTP-интерфейсе настройки передаются через параметры GET запроса, в CLI interface — как дополнительные аргументы командной строки, начинающиеся с --.