Skip to content
ClickHouse Docs
ClickHouse DocsClickHouse Docs

RawBLOB

Описание

Форматы 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

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

Querybash
$ 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
Responsetext
f9725a22f9191e064120d718e26862a9  -

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

Navigation