RawBLOB
説明
RawBLOB
フォーマットは、すべての入力データを単一の値として読み取ります。 String
型やそれに類似した型の単一フィールドを持つテーブルのみを解析することが可能です。結果は、区切り文字やエスケープなしのバイナリフォーマットとして出力されます。複数の値が出力されるとフォーマットが曖昧になり、データを再読込することは不可能になります。
Rawフォーマットの比較
以下は RawBLOB
と TabSeparatedRaw
フォーマットの比較です。
RawBLOB
:
- データはバイナリフォーマットで出力され、エスケープはありません;
- 値の間に区切り文字はありません;
- 各値の終わりに改行はありません。
TabSeparatedRaw
:
- データはエスケープなしで出力されます;
- 行はタブで区切られた値を含みます;
- 各行の最後の値の後に行送りがあります。
次に、RawBLOB
と RowBinary フォーマットの比較を示します。
RawBLOB
:
- 文字列フィールドは、その長さのプレフィックスなしで出力されます。
RowBinary
:
- 文字列フィールドは、長さを varint フォーマット(非符号 [LEB128] (https://en.wikipedia.org/wiki/LEB128))で表現し、次に文字列のバイトが続きます。
空のデータが RawBLOB
入力に渡されると、ClickHouse は例外をスローします: