mirror of
https://github.com/ClickHouse/ClickHouse.git
synced 2024-11-08 08:35:20 +00:00
8f03e526a4
* Edit and translate Отредактировал английскую версию текстов документов и перевел изменения на русский язык. * Update trace_log.md Исправляю битые ссылки. * Fixing broken links Исправил битые ссылки. * Fixing broken links Поправил битую ссылку, добавив раздел в русскую версию. Co-authored-by: Dmitriy <sevirov@yandex-team.ru>
33 lines
1.5 KiB
Markdown
33 lines
1.5 KiB
Markdown
---
|
|
title: How to import JSON into ClickHouse?
|
|
toc_hidden: true
|
|
toc_priority: 11
|
|
---
|
|
|
|
# How to Import JSON Into ClickHouse? {#how-to-import-json-into-clickhouse}
|
|
|
|
ClickHouse supports a wide range of [data formats for input and output](../../interfaces/formats.md). There are multiple JSON variations among them, but the most commonly used for data ingestion is [JSONEachRow](../../interfaces/formats.md#jsoneachrow). It expects one JSON object per row, each object separated by a newline.
|
|
|
|
## Examples {#examples}
|
|
|
|
Using [HTTP interface](../../interfaces/http.md):
|
|
|
|
``` bash
|
|
$ echo '{"foo":"bar"}' | curl 'http://localhost:8123/?query=INSERT%20INTO%20test%20FORMAT%20JSONEachRow' --data-binary @-
|
|
```
|
|
|
|
Using [CLI interface](../../interfaces/cli.md):
|
|
|
|
``` bash
|
|
$ echo '{"foo":"bar"}' | clickhouse-client ---query="INSERT INTO test FORMAT JSONEachRow"
|
|
```
|
|
|
|
Instead of inserting data manually, you might consider to use one of [client libraries](../../interfaces/index.md) instead.
|
|
|
|
## Useful Settings {#useful-settings}
|
|
|
|
- `input_format_skip_unknown_fields` allows to insert JSON even if there were additional fields not present in table schema (by discarding them).
|
|
- `input_format_import_nested_json` allows to insert nested JSON objects into columns of [Nested](../../sql-reference/data-types/nested-data-structures/nested.md) type.
|
|
|
|
!!! note "Note"
|
|
Settings are specified as `GET` parameters for the HTTP interface or as additional command-line arguments prefixed with `--` for the `CLI` interface. |