Skip to main content

説明

JSONCompactEachRow のコンパクトな行ごとの出力に、ストリーミングの進捗情報を組み合わせたフォーマットです。ClickHouse は各イベントを個別の JSON オブジェクトとしてストリーム出力し、カラム値はネイティブの JSON 型のまま保持されます。 関連する JSONCompactStringsEachRowWithProgress フォーマットも同じ種類のトップレベルオブジェクトを使用しますが、フィールド値は文字列としてシリアル化されます。 ストリームの契約 (writesProgressConcurrently / finalizeImpl) は JSONEachRowWithProgress と共通です。ただし、row / totals / min / max のペイロードは名前付きオブジェクトではなく、カラム順に並んだ値の Array になります。

ストリームオブジェクト

レスポンスの各行は 1 つの JSON オブジェクトです。クライアントはトップレベルのキーに応じて処理を振り分けてください。 rows_before_limit_at_least オブジェクトは、クエリに LIMIT が含まれていれば、実際には制限によって行が除外されなかった場合でも出力されます。これは LIMIT がなかった場合の行数の下限推定値です (意味は JSON の場合と同じです) 。クライアントは、これを行が除外された証拠として扱わないでください。 meta は最初の row の前に 1 回出力されますが、progress オブジェクトが meta より先に届くことがあります。トップレベルの exception オブジェクトは、HTTP 経由で http_write_exception_in_output_format=1 が設定されている場合にのみ出力されます。それ以外の場合、エラーはトランスポート層を通じて通知されます。出力される場合は、row の下にネストされず、独立したトップレベルのオブジェクトとなります。

使用例

Query
Response

フォーマット設定