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 に設定されている場合、
入力データのメタデータに含まれる型が、テーブル内の対応するカラムの型と比較されます。