Skip to main content

描述

将 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

格式设置