mirror of
https://github.com/ClickHouse/ClickHouse.git
synced 2024-11-26 01:22:04 +00:00
134eaa55e5
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>
34 lines
2.0 KiB
Markdown
34 lines
2.0 KiB
Markdown
---
|
||
title: Как импортировать JSON в ClickHouse?
|
||
toc_hidden: true
|
||
toc_priority: 11
|
||
---
|
||
|
||
# Как импортировать JSON в ClickHouse? {#how-to-import-json-into-clickhouse}
|
||
|
||
ClickHouse поддерживает широкий спектр [входных и выходных форматов данных](../../interfaces/formats.md). Среди них есть множество вариаций JSON, но чаще всего для импорта данных используют [JSONEachRow](../../interfaces/formats.md#jsoneachrow): один JSON-объект в строке, каждый объект с новой строки.
|
||
|
||
## Примеры {#examples}
|
||
|
||
С помощью [HTTP-интерфейса](../../interfaces/http.md):
|
||
|
||
``` bash
|
||
$ echo '{"foo":"bar"}' | curl 'http://localhost:8123/?query=INSERT%20INTO%20test%20FORMAT%20JSONEachRow' --data-binary @-
|
||
```
|
||
|
||
При помощи [интефейса CLI](../../interfaces/cli.md):
|
||
|
||
``` bash
|
||
$ echo '{"foo":"bar"}' | clickhouse-client ---query="INSERT INTO test FORMAT JSONEachRow"
|
||
```
|
||
|
||
Чтобы не вставлять данные вручную, используйте одну из [готовых библиотек](../../interfaces/index.md).
|
||
|
||
## Полезные настройки {#useful-settings}
|
||
|
||
- `input_format_skip_unknown_fields` позволяет импортировать JSON, даже если он содержит дополнительные поля, которых нет в таблице (отбрасывая лишние поля).
|
||
- `input_format_import_nested_json` позволяет импортировать вложенные JSON-объекты в столбцы типа [Nested](../../sql-reference/data-types/nested-data-structures/nested.md).
|
||
|
||
!!! note "Примечание"
|
||
В HTTP-интерфейсе настройки передаются через параметры `GET` запроса, в `CLI` interface — как дополнительные аргументы командной строки, начинающиеся с `--`.
|