ORC
Входящие данные | Исходящие данные | Псевдоним |
---|---|---|
✔ | ✔ |
Описание
Apache ORC — это колоночный формат хранения, который широко используется в экосистеме Hadoop.
Сопоставление типов данных
Таблица ниже сравнивает поддерживаемые типы данных ORC и соответствующие им типы данных ClickHouse в 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 для строковых колонок. | 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.