Hive中的JOIN触发MapReduce中哪种类型的JOIN?

时间:2017-03-23 08:07:21

标签: hadoop hive mapreduce

如果我在hive中有一个使用JOIN的查询,请在两个表LEFT OUTER JOIN任意列上说INNER JOINON,那么我怎么知道哪个JOIN的类型是在后端MapReduce(即Map-side JOIN还是Reduce-side JOIN)中转换成的?

感谢。

1 个答案:

答案 0 :(得分:1)

使用explain select ...并检查计划。它解释了map和reduce的确切含义。同样在执行期间,您可以检查作业跟踪器上的日志,并查看映射器或减速器进程正在执行的操作。

例如,以下的解释计划表明它是地图侧连接(计划中的注释地图加入运营商):

 Stage: Stage-33
    Map Reduce
      Map Operator Tree:
          TableScan
            **alias: s**
            filterExpr: (col is not null) (type: boolean)
            Statistics: Num rows: 85 Data size: 78965 Basic stats: COMPLETE Column stats: NONE
            Filter Operator
              predicate: (col is not null) (type: boolean)
              Statistics: Num rows: 22 Data size: 20438 Basic stats: COMPLETE Column stats: NONE
              **Map Join Operator
                condition map:
                     Inner Join 0 to 1**