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

ORC

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

Описание

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

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

Ниже приведена таблица, сравнивающая поддерживаемые типы данных ORC и соответствующие типы данных ClickHouse data types в запросах 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 для колонок типа String.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.