Перейти к основному содержанию

Описание

Форматы RawBLOB считывают все входные данные в одно значение. Можно разобрать только таблицу с одним полем типа String или похожего типа. Результат выводится в бинарном формате без разделителей и экранирования. Если выводится более одного значения, формат становится неоднозначным, и прочитать данные обратно будет невозможно.

Сравнение форматов Raw

Ниже приведено сравнение форматов RawBLOB и TabSeparatedRaw. RawBLOB:
  • данные выводятся в бинарном формате, без экранирования;
  • между значениями нет разделителей;
  • в конце каждого значения нет символа перевода строки.
TabSeparatedRaw:
  • данные выводятся без экранирования;
  • строки содержат значения, разделённые символами табуляции;
  • после последнего значения в каждой строке идёт символ перевода строки.
Ниже приведено сравнение форматов RawBLOB и RowBinary. RawBLOB:
  • строковые поля выводятся без префикса длины.
RowBinary:
  • строковые поля представлены длиной в формате varint (беззнаковый [LEB128] (https://en.wikipedia.org/wiki/LEB128)), после которой следуют байты строки.
Когда на вход RawBLOB передаются пустые данные, ClickHouse генерирует исключение:
Code: 108. DB::Exception: No data to insert

Пример использования

Query
$ 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
Response
f9725a22f9191e064120d718e26862a9  -

Настройки формата

Последнее изменение 10 июня 2026 г.