描述
将JSONCompactEachRow 的紧凑逐行输出与流式进度信息相结合。ClickHouse 以流式方式将每个事件作为独立的 JSON 对象输出;列值保留其原生 JSON 类型。
相关的 JSONCompactStringsEachRowWithProgress 格式使用相同的顶层对象类型,但字段值会被序列化为字符串。
与 JSONEachRowWithProgress 遵循相同的流契约 (writesProgressConcurrently / finalizeImpl) ,区别在于 row / totals / min / max 载荷是按列顺序排列的值数组,而非具名对象。
流对象
响应的每一行都是一个 JSON 对象。客户端应根据顶层键分派处理:
只要查询包含
LIMIT,就会输出 rows_before_limit_at_least 对象,即使该限制实际上并未丢弃任何行。它表示不使用 LIMIT 时本应返回行数的下限估计 (含义与 JSON 格式中相同) ;客户端不得据此认定有行被丢弃。
meta 会在第一个 row 之前输出一次,但 progress 对象可能先于 meta 到达。仅当设置了 http_write_exception_in_output_format=1 时,HTTP 路径上才会输出顶层 exception 对象;否则错误将通过传输层反馈。该对象输出时是一个独立的顶层对象,而非嵌套在 row 中。
使用示例
Query
Response