Hive 3.1.0版本运行某些包含Groupby算子的SQL集时,出现Unable to create serializer "org.apache.hive.com.esotericsoftware.kryo.serializers.FieldSerializer" for class: com.huawei.boostkit.hive.OmniGroupByOperator相关错误的解决方法

问题现象描述

某些SQL包含Groupby算子,Hive OmniOperator会出现Unable to create serializer "org.apache.hive.com.esotericsoftware.kryo.serializers.FieldSerializer" for class: com.huawei.boostkit.hive.OmniGroupByOperator报错。

关键过程、根本原因分析

该现象在Hive原生执行SQL时也可能会出现,相关issue为Kryo ISSUE,该问题是Kryo的bug,使用高版本的Kryo即可解决,已在Hive 4.0版本解决。

结论、解决方案及效果

需在Hive工程的pom文件将Kyro的version改为4.0.0重新编译出包,替换Hive安装目录“lib”下的hive-exec-3.1.0.jar,也可以使用已经编译好的Hive Jar包进行替换。