为什么在Hive中映射器的数量变化如此之大以进行插入覆盖

时间:2019-04-12 23:14:04

标签: hive apache-tez

我有一个名为t1的启用事务的表,并且我正在使用Tez作为执行引擎。

我不明白为什么这两个查询的查询计划会有很大的不同。我应该怎么做才能调整这种情况?

  1. 选择t.id,t.id_type 从T 限制20;

->生成10个地图任务。

  1. 插入覆盖表t2 选择t.id作为id,选择t.id_type作为id_type 从T 限制20;

->生成1100个地图任务。

1 个答案:

答案 0 :(得分:1)

使用EXPLAIN EXTENDED命令,它将提供有关正在完成的操作的信息并显示正在读取的文件。比较两个查询的命令输出。可能它会读取其他文件或执行其他操作。

EXPLAIN EXTENDED select t.id, t.id_type from t limit 20;

vs

EXPLAIN EXTENDED insert overwrite table t2 select t.id as id, t.id_type as id_type from t limit 20;