如何将 JSON 导入到 ClickHouse?
·一分钟阅读
JSON 变体有很多,但最常用于数据摄取的是 JSONEachRow。它期望每行一个 JSON 对象,每个对象用换行符分隔。
将 JSON 导入到 ClickHouse
ClickHouse 支持广泛的 输入和输出数据格式。JSON 变体有很多,但最常用于数据摄取的是 JSONEachRow。它期望每行一个 JSON 对象,每个对象用换行符分隔。
示例
使用 HTTP 接口
$ echo '{"foo":"bar"}' | curl 'https://127.0.0.1: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 类型的列中。
注意
设置指定为 HTTP 接口的 GET
参数,或指定为 CLI
接口的以 --
为前缀的附加命令行参数。