Как hive управляет запросами на основе Non-Tez и Non-MapReduce

Create table t1(id int)

Я запускал вышеуказанный запрос в Hive 2.3.6 (MapR Hadoop Distribution 6.3.0).

Движок улья по умолчанию был tez. Итак, после запуска запроса я не смог увидеть, что какое-либо приложение TEZ запущено в веб-интерфейсе диспетчера ресурсов пряжи

Итак, я изменил механизм выполнения на MapReduce.

set hive.execution.engine=mr

И снова попытался выполнить тот же запрос. То же самое, мне не удалось увидеть, что какое-либо приложение MR было запущено в веб-интерфейсе диспетчера ресурсов пряжи

Итак, мои вопросы заключаются в том, как улей управлять такими типами запросов? И где хранятся детали этих запросов, такие как идентификатор приложения, время начала и т. Д.?


person Pash0002    schedule 10.04.2021    source источник


Ответы (1)


create table - это только операция с метаданными, данные не обрабатываются. Он создает записи в базе данных хранилища метаданных, для этого не требуется никакой инфраструктуры распределенной обработки, такой как Tez или MR, Yarn не используется.

Компилятор переводит DDL в запрос к хранилищу метаданных, только если это возможно.

Также некоторые простые запросы DQL могут выполняться как хранилище метаданных, только если существует статистика и эта функция включена: https://stackoverflow.com/a/41021682/2700344, без использования Tez или MR.

Также небольшие таблицы можно запрашивать без распределенной структуры, используя задачу только для выборки, см. Это: Почему задача Fetch в Hive работает быстрее, чем Map- единственная задача?

person leftjoin    schedule 10.04.2021
comment
Спасибо. Можем ли мы извлечь эти запросы только к хранилищу метаданных через любой API или из местоположения HDFS? - person Pash0002; 07.05.2021
comment
@ Pash0002 Объясните, пожалуйста, что вы имеете в виду? Вот несколько API: cwiki.apache.org/confluence/display/Hive / Hive + API + обзор Также в зависимости от дистрибутива / поставщика у вас могут быть дополнительные API, например, предоставляемые Qubole, AWS и другими. - person leftjoin; 07.05.2021
comment
Как и в случае с MapReduce и Tez, у нас есть сервер истории заданий и сервер временной шкалы REST API соответственно. Итак, есть ли у нас какой-нибудь API для запросов на выборку? - person Pash0002; 11.05.2021
comment
@ Pash0002 Я не уверен, что можно отслеживать задачу только для выборки, это всего лишь команда cat, без сокращения карты ... Но Клаудера говорит, что журнал задач только для выборки доступен на HiveServer docs.cloudera.com/cdp-private-cloud -base / 7.1.6 / управление-куст / - person leftjoin; 11.05.2021