メインコンテンツまでスキップ
メインコンテンツまでスキップ

RawBLOB

説明

RawBLOB フォーマットは、すべての入力データを単一の値として読み取ります。 String 型やそれに類似した型の単一フィールドを持つテーブルのみを解析することが可能です。結果は、区切り文字やエスケープなしのバイナリフォーマットとして出力されます。複数の値が出力されるとフォーマットが曖昧になり、データを再読込することは不可能になります。

Rawフォーマットの比較

以下は RawBLOBTabSeparatedRaw フォーマットの比較です。

RawBLOB:

  • データはバイナリフォーマットで出力され、エスケープはありません;
  • 値の間に区切り文字はありません;
  • 各値の終わりに改行はありません。

TabSeparatedRaw:

  • データはエスケープなしで出力されます;
  • 行はタブで区切られた値を含みます;
  • 各行の最後の値の後に行送りがあります。

次に、RawBLOBRowBinary フォーマットの比較を示します。

RawBLOB:

  • 文字列フィールドは、その長さのプレフィックスなしで出力されます。

RowBinary:

空のデータが RawBLOB 入力に渡されると、ClickHouse は例外をスローします:

Code: 108. DB::Exception: No data to insert

使用例

$ clickhouse-client --query "CREATE TABLE {some_table} (a String) ENGINE = Memory;"
$ cat {filename} | clickhouse-client --query="INSERT INTO {some_table} FORMAT RawBLOB"
$ clickhouse-client --query "SELECT * FROM {some_table} FORMAT RawBLOB" | md5sum
f9725a22f9191e064120d718e26862a9  -

フォーマット設定