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



如果我在hive中有一个使用 JOIN 的查询,假设对任何列ON两个表LEFT OUTER JOININNER JOIN,那么我怎么知道它在后端MapReduce中被转换为哪种类型的 JOIN(即映射端 JOIN 或减少端 JOIN(?

谢谢。

使用explain select ...并检查计划。它解释了映射和减少的确切作用。此外,在执行过程中,您可以检查作业跟踪器上的日志,并查看映射器或化简器进程正在做什么。

例如,以下解释计划表示它是映射端连接(注意计划中映射连接运算符(:

 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**

最新更新