Перейти к содержимому
Последнее обновление

VARBINARY

VARBINARY​

Описание​

Двоичная последовательность байтов переменной длины, где M обозначает максимальную длину (в байтах).

В отличие от VARCHAR, этот тип сохраняет исходные байты, не интерпретируя их с помощью набора символов или правил сортировки. Он подходит для произвольных двоичных данных (например, фрагментов файлов, хешей, зашифрованных или сжатых данных) и поддерживает максимальную длину 2,147,483,647.

В настоящее время столбцы VARBINARY не поддерживаются в создаваемых материализованных представлениях, а также в качестве ключей Group By и Join и в предикатах сравнения.

Версия и ограничения: поддерживается с версии 4.0; в настоящее время не поддерживается в качестве типа столбца для создания таблиц и хранения данных в Doris. Поля BINARY/VARBINARY из внешних систем можно сопоставлять с типом VARBINARY в Doris через Catalog для выполнения запросов.

Внешние типы и ограничения начиная с версии 4.1.5​

Начиная с версии 4.1.5, объекты Catalog всегда сохраняют внешние двоичные типы как VARBINARY; enable.mapping.varbinary=false больше не восстанавливает сопоставление с STRING. Тип Iceberg fixed(N) сопоставляется с VARBINARY(N), в том числе при сериализации Block и обмене данными. В версии dev тип UUID в Iceberg сопоставляется с нативным типом UUID, а не с VARBINARY(16), используемым в версии 4.1.5. Файловые TVF в версии dev также всегда включают сопоставление двоичных типов: enable_mapping_varbinary принимается для совместимости, но его значение игнорируется. В версии 4.1.5 этот параметр TVF остаётся настраиваемым и по умолчанию имеет значение false.

Для двоичных полей Hive Text используются кодирование и декодирование Base64, совместимые с Hive. Для преобразований с шестнадцатеричными представлениями требуются префикс 0x и чётное число допустимых шестнадцатеричных цифр; при некорректных входных данных возвращается Invalid VARBINARY hex representation.

Эта поддержка не распространяется на нативное хранение двоичных столбцов во внутренних таблицах Doris. VARBINARY нельзя использовать в качестве ключа Hash Join или Group By, в предикатах сравнения, в IN или NOT IN, а также в операциях, таких как collect_set, в которых не реализована семантика работы с двоичными данными. Doris 4.1.5 явно отклоняет такие варианты использования.

Ключевые слова​

VARBINARY