ClickHouse/docs/zh/faq/integration/json-import.md

Ignoring revisions in .git-blame-ignore-revs. Click here to bypass and see the normal blame view.

35 lines
1.4 KiB
Markdown
Raw Normal View History

2022-04-10 23:08:18 +00:00
---
2022-08-26 19:07:59 +00:00
slug: /zh/faq/integration/json-import
title: 如何将 JSON 导入到 ClickHouse
2022-04-10 23:08:18 +00:00
toc_hidden: true
sidebar_position: 11
---
# 如何将 JSON 导入到 ClickHouse {#how-to-import-json-into-clickhouse}
2022-04-10 23:08:18 +00:00
ClickHouse 支持多种[输入和输出的数据格式](../../interfaces/formats.md)。其中包括多种 JSON 变体,但最常用于数据导入的是 [JSONEachRow](../../interfaces/formats.md#jsoneachrow)。它期望每行一个 JSON 对象,每个对象由一个新行分隔。
2022-04-10 23:08:18 +00:00
## 示例 {#examples}
2022-04-10 23:08:18 +00:00
使用 [HTTP 接口](../../interfaces/http.md)
2022-04-10 23:08:18 +00:00
``` bash
$ echo '{"foo":"bar"}' | curl 'http://localhost:8123/?query=INSERT%20INTO%20test%20FORMAT%20JSONEachRow' --data-binary @-
```
使用 [CLI接口](../../interfaces/cli.md):
2022-04-10 23:08:18 +00:00
``` bash
$ echo '{"foo":"bar"}' | clickhouse-client --query="INSERT INTO test FORMAT JSONEachRow"
```
除了手动插入数据外,您可能会考虑使用 [客户端库](../../interfaces/index.md) 之一。
2022-04-10 23:08:18 +00:00
## 实用设置 {#useful-settings}
2022-04-10 23:08:18 +00:00
- `input_format_skip_unknown_fields` 允许插入 JSON即使存在表格架构中未出现的额外字段通过丢弃它们
- `input_format_import_nested_json` 允许将嵌套 JSON 对象插入到 [Nested](../../sql-reference/data-types/nested-data-structures/nested.md) 类型的列中。
2022-04-10 23:08:18 +00:00
2023-03-18 02:45:43 +00:00
:::note
对于 HTTP 接口,设置作为 `GET` 参数指定;对于 `CLI` 接口,则作为前缀为 -- 的附加命令行参数。
2022-04-10 23:08:18 +00:00
:::