2014-09-10 58 views
2

我是Hive的新手。我没有怀疑。Hive Stages mapreduce

  1. 我想知道Hive如何将查询转换为MapReduce作业?

  2. 我看了解释命令给我一个阶段计划和 依赖关系。我想知道阶段的细节。如何定义这些阶段 ?

  3. 如何控制MapReduce执行。假设我想将 Reduce连接更改为地图边连接。

回答

3

在抽象的层面,下面的事情,当你在蜂巢

  1. 查询被分析和抽象语法树创建
  2. AST然后被转换到一个执行查询发生MapReduce任务的DAG
  3. 然后为每个MapReduce任务创建一个Runnable。
  4. 的MapReduce任务的将被再序列化为XML文件(存储在/tmp/hive-${user.name}/)
  5. 执行引擎将反序列化这个XML文件并执行任务

我希望这回答您的问题1和2.您可以从here

了解更多问题3我相信如果可能的话,配置单元会自动执行映射端连接。检查HIVE-3784
在此之前,您必须在hive查询中提示进行地图边连接。看到这link

要了解更多关于连接如何在蜂巢中工作看到这link