当分区类型为varchar2时,hive explain plan显示所有分区

时间:2016-11-18 03:34:42

标签: hive sql-execution-plan

我们有一个外部配置单元表,其分区列的类型为varchar2。此表左外连接到另一个表,其中分区字段处于连接条件中。

在下面的查询中,表b中的列b2是varchar2类型的分区列,表a中的a2只有1个值,也是varchar2类型。

SELECT a.a1, b.b1 FROM a LEFT OUTER JOIN b ON (a.a2=b.b2) WHERE a.a3='2016-01-31'

当我在上面的查询中发出EXPLAIN PLAN时,我看到表b下的所有分区。如果映射器读取表b时它只等于a2中的值,我怎么才能从表b中获取分区?

1 个答案:

答案 0 :(得分:0)

选择查询按以下顺序执行/计划。

FROM
ON
JOIN
WHERE
GROUP BY
WITH CUBE or WITH ROLLUP
HAVING
SELECT
DISTINCT
ORDER BY
TOP

解释

查询已加入,并且按照规则首先加入条件将被评估然后where子句因此你看到 PLAN

中表B的所有分区
相关问题