ClickHouse는 입력 및 출력용 데이터 포맷을 폭넓게 지원합니다. 이 중에는 여러 JSON 변형이 있으며, 데이터 수집에 가장 일반적으로 사용되는 포맷은 JSONEachRow입니다. 이 포맷은 각 행에 JSON 객체 하나가 있어야 하며, 각 객체는 줄바꿈으로 구분됩니다.
HTTP 인터페이스 사용:
$ echo '{"foo":"bar"}' | curl 'http://localhost: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 인터페이스에서는 -- 접두사가 붙은 추가 명령줄 인수로 지정합니다.