На абстрактном уровне, следующие вещи происходят при выполнении запроса в улье
- Запрос анализируется и абстрактное синтаксическое дерево создается
- AST затем преобразуется в к DAG задач MapReduce
- Затем для каждой задачи MapReduce создается Runnable.
- Задачи MapReduce будут затем сериализовать в XML-файл (хранится в /tmp/hive-${user.name}/)
- Исполнение двигателя будет десериализации этот XML-файл и выполнить задачи,
I надеюсь, что это ответит на ваши вопросы 1 и 2. Вы можете узнать больше от here
На вопрос 3 я считаю, что улей автоматически сделает соединение с картами, если это возможно. Проверка HIVE-3784
Перед тем, как вы должны дать подсказку в запросе на улей, чтобы сделать соединение mapside. Смотрите эту link
Чтобы узнать больше о том, как присоединяется работать в улье посмотреть link