JSONColumns 포맷과 달리, 일부 메타데이터와 통계 정보도 포함합니다(JSON 포맷과 유사).
JSONColumnsWithMetadata 포맷은 모든 데이터를 메모리에 버퍼링한 뒤 단일 블록으로 출력하므로 메모리 사용량이 높아질 수 있습니다.
예시:
{
"meta":
[
{
"name": "num",
"type": "Int32"
},
{
"name": "str",
"type": "String"
},
{
"name": "arr",
"type": "Array(UInt8)"
}
],
"data":
{
"num": [42, 43, 44],
"str": ["hello", "hello", "hello"],
"arr": [[0,1], [0,1,2], [0,1,2,3]]
},
"rows": 3,
"rows_before_limit_at_least": 3,
"statistics":
{
"elapsed": 0.000272376,
"rows_read": 3,
"bytes_read": 24
}
}
JSONColumnsWithMetadata 입력 형식에서는 input_format_json_validate_types_from_metadata 설정이 1로 지정되면,
입력 데이터 메타데이터의 타입을 테이블의 해당 컬럼 타입과 비교합니다.