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

ORC

Входящие данныеИсходящие данныеПсевдоним

Описание

Apache ORC — это колоночный формат хранения, который широко используется в экосистеме Hadoop.

Сопоставление типов данных

Таблица ниже сравнивает поддерживаемые типы данных ORC и соответствующие им типы данных ClickHouse в INSERT и SELECT запросах.

Тип данных ORC (INSERT)Тип данных ClickHouseТип данных ORC (SELECT)
BooleanUInt8Boolean
TinyintInt8/UInt8/Enum8Tinyint
SmallintInt16/UInt16/Enum16Smallint
IntInt32/UInt32Int
BigintInt64/UInt32Bigint
FloatFloat32Float
DoubleFloat64Double
DecimalDecimalDecimal
DateDate32Date
TimestampDateTime64Timestamp
String, Char, Varchar, BinaryStringBinary
ListArrayList
StructTupleStruct
MapMapMap
IntIPv4Int
BinaryIPv6Binary
BinaryInt128/UInt128/Int256/UInt256Binary
BinaryDecimal256Binary
  • Другие типы не поддерживаются.
  • Массивы могут быть вложенными и могут иметь значение типа Nullable в качестве аргумента. Типы Tuple и Map также могут быть вложенными.
  • Типы данных колонок таблицы ClickHouse не обязательно должны соответствовать соответствующим полям данных ORC. При вставке данных ClickHouse интерпретирует типы данных в соответствии с таблицей выше, а затем приводит данные к типу данных, установленному для колонки таблицы ClickHouse.

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

Вставка данных

Вы можете вставить данные ORC из файла в таблицу ClickHouse с помощью следующей команды:

Выбор данных

Вы можете выбрать данные из таблицы ClickHouse и сохранить их в файл в формате ORC с помощью следующей команды:

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

НастройкаОписаниеЗначение по умолчанию
output_format_arrow_string_as_stringИспользовать тип Arrow String вместо Binary для строковых колонок.false
output_format_orc_compression_methodМетод сжатия, используемый в выходном формате ORC. Значение по умолчаниюnone
input_format_arrow_case_insensitive_column_matchingИгнорировать регистр при сопоставлении колонок Arrow с колонками ClickHouse.false
input_format_arrow_allow_missing_columnsРазрешить отсутствие колонок при чтении данных Arrow.false
input_format_arrow_skip_columns_with_unsupported_types_in_schema_inferenceРазрешить пропуск колонок с неподдерживаемыми типами при выводе схемы для формата Arrow.false

Для обмена данными с Hadoop вы можете использовать HDFS table engine.