ORC
Input | Output | Alias |
---|---|---|
✔ | ✔ |
Описание
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 с следующими данными, названный football.orc
:
Вставьте данные:
Чтение данных
Чтение данных с использованием формата ORC
:
подсказка
ORC - это бинарный формат, который не отображается в читаемом человекообразном виде в терминале. Используйте INTO OUTFILE
, чтобы выводить файлы 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.