文档首页/ MapReduce服务 MRS/ 组件操作指南(LTS版)/ 使用Spark/Spark2x/ Spark常见问题/ Spark无法查询Tez引擎执行union语句写入的数据
更新时间:2025-09-26 GMT+08:00
分享

Spark无法查询Tez引擎执行union语句写入的数据

问题

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

回答

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

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

  • ORC表需设置:

    set spark.sql.hive.convertMetastoreOrc=false

  • Parquet表需要设置:

    set spark.sql.hive.convertMetastoreParquet=false

相关文档