メインコンテンツまでスキップ
メインコンテンツまでスキップ

How to Import JSON Into ClickHouse?

ClickHouseは、さまざまなdata formats for input and outputをサポートしています。その中には複数のJSONバリエーションがありますが、データインジェクションに最も一般的に使用されるのはJSONEachRowです。これは、各行に1つのJSONオブジェクトを期待し、各オブジェクトは改行で区切られます。

Examples

HTTP interfaceを使用した場合:

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

CLI interfaceを使用した場合:

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

手動でデータを挿入する代わりに、integration toolを使用することを検討してもよいでしょう。

Useful settings

  • input_format_skip_unknown_fieldsを使用すると、テーブルスキーマに存在しない追加フィールドを破棄することで、JSONを挿入することができます。
  • input_format_import_nested_jsonを使用すると、Nested型のカラムにネストされたJSONオブジェクトを挿入することができます。
注記

設定は、HTTPインターフェイスのGETパラメータとして、またはCLIインターフェイスのために--で始まる追加のコマンドライン引数として指定されます。