설명
JSONCompactEachRow의 간결한 행(row) 단위 출력에 스트리밍 진행 상황 정보를 결합합니다. ClickHouse는 각 이벤트를 별도의 JSON 객체로 스트리밍하며, 컬럼(column) 값은 원래의 JSON 타입을 유지합니다.
관련 포맷인 JSONCompactStringsEachRowWithProgress는 동일한 최상위 객체 종류를 사용하며, 필드 값은 문자열로 직렬화됩니다.
JSONEachRowWithProgress와 동일한 스트림 규약(writesProgressConcurrently / finalizeImpl)을 따릅니다. 단, row / totals / min / max payload는 이름으로 값을 구분하는 객체가 아니라 컬럼 순서대로 값이 나열된 배열입니다.
스트림 객체
응답의 각 줄은 하나의 JSON 객체입니다. 클라이언트는 최상위 키에 따라 처리를 분기해야 합니다.rows_before_limit_at_least 객체는 쿼리에 LIMIT가 포함되어 있으면 제한으로 인해 제외된 행이 없더라도 출력됩니다. 이 값은 LIMIT가 없었다면 반환되었을 행 수의 하한 추정치이며, JSON에서와 의미가 같습니다. 클라이언트는 이를 행이 제외되었다는 증거로 간주해서는 안 됩니다.
meta는 첫 번째 row 이전에 한 번 출력되지만, progress 객체가 meta보다 먼저 도착할 수 있습니다. 최상위 exception 객체는 HTTP를 통한 요청에서 http_write_exception_in_output_format=1이 설정된 경우에만 출력됩니다. 그렇지 않으면 오류는 전송 계층을 통해 전달됩니다. 이 객체는 출력 시 row 내부에 중첩되지 않고 별도의 최상위 객체로 제공됩니다.
사용 예시
Query
Response