文档首页/ MapReduce服务 MRS/ 组件操作指南(LTS版)/ 使用Hive/ Hive常见问题/ 使用Tez引擎执行Hive SQL任务报错Not expecting to handle any events
更新时间:2025-12-10 GMT+08:00
分享

使用Tez引擎执行Hive SQL任务报错Not expecting to handle any events

问题

MRS 3.6.0-LTS及之后版本,使用Tez引擎执行Hive SQL任务时,对于某些查询会执行失败,报错的异常信息中包含以下内容:
Error: Error while processing statement: FAILED: Execution Error, return code 2 from org.apache.hadoop.hive.ql.exec.tez.TezTask. Vertex failed, vertexName=Map 4, vertexId=vertex_1742299541057_0014_1_02, diagnostics=[Vertex vertex_1742299541057_0014_1_02 [Map 4] killed/failed due to:ROOT_INPUT_INIT_FAILURE, Vertex Input: $hdt$_0:$hdt$_0:$hdt$_0:store_returns initializer failed, vertex=vertex_1742299541057_0014_1_02 [Map 4], java.lang.UnsupportedOperationException: Not expecting to handle any events
	at org.apache.tez.mapreduce.common.MRInputAMSplitGenerator.handleInputInitializerEvent(MRInputAMSplitGenerator.java:192)
	at org.apache.tez.dag.app.dag.RootInputInitializerManager$InitializerWrapper.sendEvents(RootInputInitializerManager.java:521)
	at org.apache.tez.dag.app.dag.RootInputInitializerManager$InitializerWrapper.onTaskSucceeded(RootInputInitializerManager.java:471)
	at org.apache.tez.dag.app.dag.StateChangeNotifier.taskSucceeded(StateChangeNotifier.java:295)
	at org.apache.tez.dag.app.dag.impl.TaskImpl$TaskStateChangedCallback.onStateChanged(TaskImpl.java:1458)
	at org.apache.tez.dag.app.dag.impl.TaskImpl$TaskStateChangedCallback.onStateChanged(TaskImpl.java:1442)
	at org.apache.tez.state.StateMachineTez.doTransition(StateMachineTez.java:68)
	at org.apache.tez.dag.app.dag.impl.TaskImpl.handle(TaskImpl.java:842)
	at org.apache.tez.dag.app.dag.impl.TaskImpl.handle(TaskImpl.java:114)
	at org.apache.tez.dag.app.DAGAppMaster$TaskEventDispatcher.handle(DAGAppMaster.java:2193)
	at org.apache.tez.dag.app.DAGAppMaster$TaskEventDispatcher.handle(DAGAppMaster.java:2180)
	at org.apache.tez.common.AsyncDispatcher.dispatch(AsyncDispatcher.java:195)
	at org.apache.tez.common.AsyncDispatcher$1.run(AsyncDispatcher.java:115)
	at java.base/java.lang.Thread.run(Thread.java:840)

回答

可以在Hive客户端执行set hive.tez.dynamic.partition.pruning=false;命令,关闭动态分区裁剪功能,并重新执行相关Hive SQL任务即可。

相关文档