Hive阶段mapreduce

时间:2014-09-10 08:47:33

标签: hadoop hive

我是Hive的新手。我几乎没有怀疑。

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

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

  3. 如何控制MapReduce执行。假设我想改变 减少连接到地图侧连接。

1 个答案:

答案 0 :(得分:3)

在抽象级别,在hive中执行查询时会发生以下情况

  1. 解析查询并创建抽象语法树
  2. 然后将
  3. AST转换为MapReduce任务的DAG
  4. 然后为每个MapReduce任务创建一个Runnable。
  5. 然后将MapReduce任务序列化为xml文件(存储在/ tmp / hive - $ {user.name} /)
  6. 执行引擎将反序列化此xml文件并执行任务
  7. 我希望这能回答您的问题1和2.您可以从here

    了解更多信息

    对于问题3,我相信如果可能,配置单元将自动进行地图端连接。检查HIVE-3784
    在此之前,您必须在hive查询中提供提示以执行mapside join。见link

    要详细了解联接在联配中如何工作,请参阅此link