ORC
Входные данные | Выходные данные | Псевдоним |
---|---|---|
✔ | ✔ |
Описание
Apache ORC — это столбцовый формат хранения данных, широко используемый в экосистеме Hadoop.
Соответствие типов данных
Ниже приведена таблица, сравнивающая поддерживаемые типы данных ORC и соответствующие типы данных ClickHouse data types в запросах INSERT
и SELECT
.
Тип данных ORC (INSERT ) | Тип данных ClickHouse | Тип данных ORC (SELECT ) |
---|---|---|
Boolean | UInt8 | Boolean |
Tinyint | Int8/UInt8/Enum8 | Tinyint |
Smallint | Int16/UInt16/Enum16 | Smallint |
Int | Int32/UInt32 | Int |
Bigint | Int64/UInt32 | Bigint |
Float | Float32 | Float |
Double | Float64 | Double |
Decimal | Decimal | Decimal |
Date | Date32 | Date |
Timestamp | DateTime64 | Timestamp |
String , Char , Varchar , Binary | String | Binary |
List | Array | List |
Struct | Tuple | Struct |
Map | Map | Map |
Int | IPv4 | Int |
Binary | IPv6 | Binary |
Binary | Int128/UInt128/Int256/UInt256 | Binary |
Binary | Decimal256 | Binary |
- Другие типы не поддерживаются.
- Массивы могут быть вложенными и могут иметь значение типа
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.