我确实有HDP 2.6.1.0-129
我有外部Jar example.jar用于序列化的水槽数据文件。
我确实在“自定义”配置单元站点部分添加了新的参数
name = hive.aux.jars.path
value hdfs:///user/libs/
确实保存了新配置并重新启动了hadoop组件,然后又重新启动了所有hadoop集群。
在Hive客户端中之后,我确实尝试运行select
select * from example_serealized_table
和 hive 没有返回错误
FAILED: RuntimeException MetaException(message:org.apache.hadoop.hive.serde2.SerDeException java.lang.ClassNotFoundException: Class com.my.bigtable.example.model.gen.TSerializedRecord not found)
如何解决这个问题?
ps。
如果尝试在当前 session 中添加,
add jar hdfs:///user/libs/example-spark-SerializedRecord.jar;
尝试将* .jar放入本地文件夹。
问题相同。
最佳答案
我并不是说图书馆写的是我的同事写的。
事实证明,它重新定义了影响字段记录级别的变量。
在排除了库中的覆盖变量之后,重现的问题就停了下来。
关于hadoop - 为Hive客户端添加带有辅助jar的路径,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/50465593/