文档首页/ MapReduce服务 MRS/ 组件操作指南(阿布扎比区域)/ 使用Hive/ Hive常见问题/ 通过Tez引擎执行union相关语句写入的数据,切换MR引擎后查询不出来。
更新时间:2022-02-22 GMT+08:00

通过Tez引擎执行union相关语句写入的数据,切换MR引擎后查询不出来。

问题

Hive通过Tez引擎执行union相关语句写入的数据,切换到Mapreduce引擎后进行查询,发现数据没有查询出来。

回答

由于Hive使用Tez引擎在执行union语句时,生成的输出文件会存在HIVE_UNION_SUBDIR目录,切回Mapreduce引擎后默认不读取目录下的文件,所以没有读取到HIVE_UNION_SUBDIR目录下的数据。

此时可以设置参数set mapreduce.input.fileinputformat.input.dir.recursive=true,开启union优化,决定是否读取目录下的数据。