Hive
Движок Hive позволяет выполнять запросы SELECT
к таблицам Hive в HDFS. В настоящее время он поддерживает следующие форматы входных данных:
-
Text: поддерживает только простые скалярные типы колонок, кроме
binary
-
ORC: поддерживает простые скалярные типы колонок, кроме
char
; поддерживает только сложные типы, такие какarray
-
Parquet: поддерживает все простые скалярные типы колонок; поддерживает только сложные типы, такие как
array
Создание таблицы
Смотрите подробное описание запроса CREATE TABLE.
Структура таблицы может отличаться от оригинальной структуры таблицы Hive:
- Имена колонок должны совпадать с именами в оригинальной таблице Hive, но вы можете использовать только некоторые из этих колонок и в любом порядке, также вы можете использовать некоторые алиас-колонки, вычисленные из других колонок.
- Типы колонок должны совпадать с типами в оригинальной таблице Hive.
- Выражение для партиции должно соответствовать оригинальной таблице Hive, и колонки в выражении для партиции должны быть в структуре таблицы.
Параметры движка
-
thrift://host:port
— адрес метастора Hive -
database
— имя удаленной базы данных. -
table
— имя удаленной таблицы.
Пример использования
Как использовать локальный кэш для файловой системы HDFS
Мы настоятельно рекомендуем вам включить локальный кэш для удаленных файловых систем. Бенчмаркинг показывает, что с кэшем это почти в 2 раза быстрее.
Перед использованием кэша добавьте его в config.xml
- enable: ClickHouse будет поддерживать локальный кэш для удаленной файловой системы (HDFS) после запуска, если true.
- root_dir: Обязательный. Корневая директория для хранения локальных кэш-файлов для удаленной файловой системы.
- limit_size: Обязательный. Максимальный размер (в байтах) локальных кэш-файлов.
- bytes_read_before_flush: Контроль байт перед сбросом на локальную файловую систему при загрузке файла из удаленной файловой системы. Значение по умолчанию — 1МБ.
Когда ClickHouse запущен с включенным локальным кэшем для удаленной файловой системы, пользователи все равно могут выбрать не использовать кэш с помощью settings use_local_cache_for_remote_storage = 0
в своем запросе. use_local_cache_for_remote_storage
по умолчанию равно 1
.
Запрос таблицы Hive с форматом входных данных ORC
Создать таблицу в Hive
Создать таблицу в ClickHouse
Таблица в ClickHouse, извлекая данные из таблицы Hive, созданной выше:
Запрос таблицы Hive с форматом входных данных Parquet
Создать таблицу в Hive
Создать таблицу в ClickHouse
Таблица в ClickHouse, извлекая данные из таблицы Hive, созданной выше:
Запрос таблицы Hive с форматом входных данных Text
Создать таблицу в Hive
Создать таблицу в ClickHouse
Таблица в ClickHouse, извлекая данные из таблицы Hive, созданной выше: