Вышел новый выпуск Apache Hive с новыми функциями, включая поддержку операций Set и обработчика хранилища JDBC.
Hive можно использовать для чтения, записи и управления большими наборами данных в распределенном хранилище с помощью SQL. Программное обеспечение включает инструмент командной строки и драйвер JDBC для подключения пользователей к Hive. Предусмотрены инструменты для извлечения / преобразования / загрузки данных (ETL). Его можно использовать для запроса данных через MapReduce, Spark и Tez. Для получения запросов можно использовать Hive LLAP, YARN и Slider. Hive также поддерживает процедурное использование HPL-SQL.
В последней версии добавлен общий обработчик хранилища JDBC RDBMS, позволяющий импортировать стандартную таблицу БД в Hive.
Этот выпуск также завершает работу, начатую в Hive 2.1 по операциям с Set. Теперь вы можете использовать операции Union, Intersect и Except Set для поиска данных с помощью реляционной алгебры.
Обработка транзакций ACID была улучшена двумя способами. Во-первых, в новом выпуске предусмотрена возможность использования предикатов в дельта-файлах, созданных транзакциями ACID. В более ранних версиях дельта-файл, созданный транзакцией ACID, не допускал выталкивания предикатов, если они содержат какие-либо события обновления / удаления. Это было сделано намеренно, чтобы сохранить корректность в случае сбоя транзакции в многоверсионной транзакции. Новый подход разбивает обновления на комбинацию события удаления, за которым следует новое событие вставки. Это означает, что выталкивание предикатов можно включить для всех дельта-файлов без нарушения правильности.
Векторизация ACID также была улучшена за счет исключения сшивания строк за строкой. В более ранних версиях векторизованный пакет строк создавался путем заполнения пакета по одной строке за раз, прежде чем векторизованный пакет передавался вверх по конвейеру оператора. Это было сделано из-за того, что события вставки / обновления / удаления ACID из различных файлов дельты необходимо было объединить вместе до того, как будет обнаружена фактическая версия данной строки. Улучшения в обработке дельта-файлов означают, что в этом больше нет необходимости. Обновленная версия напрямую считывает пакеты строк из базовых файлов ORC и избегает сшивания.
Как только пакет строк будет считан из разбиения, удаленные строки будут найдены путем перекрестной ссылки на них в структуре данных, которая будет просто отслеживать удаленные события. Ожидается, что это приведет к значительному увеличению производительности при чтении файлов ACID в векторизованном виде.
Другие улучшения включают добавление простых материализованных представлений с перестроением вручную; поддержка просмотра списков, похожих на «показать таблицы»; и UDF, позволяющий запрашивать значения uniontype.