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

Hive

Not supported in ClickHouse Cloud

Движок 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, созданной выше: