为 Hive 客户端添加带有 aux jar 的路径

Add path with aux jars for Hive client

我有 HDP 2.6.1.0-129

我有用于序列化 flume 数据文件的外部 Jar example.jar。

我确实在 Custom hive-site 部分添加了新参数

name = hive.aux.jars.path
value hdfs:///user/libs/

确实保存了新配置并重新启动了 hadoop 组件,并稍后重新启动了所有 hadoop 集群。

在 Hive 客户端之后我确实尝试 运行 select

select * from example_serealized_table

并且蜂巢确实 return 错误

FAILED: RuntimeException MetaException(message:org.apache.hadoop.hive.serde2.SerDeException java.lang.ClassNotFoundException: Class com.my.bigtable.example.model.gen.TSerializedRecord not found)

如何解决这个问题?

p.s.

如果尝试在当前会话中添加,

add jar hdfs:///user/libs/example-spark-SerializedRecord.jar;

尝试将 *.jar 放入本地文件夹。 问题相同。

我没说写库是我同事写的。 事实证明,它重新定义了影响记录字段级别的变量。 排除库中覆盖的变量后,复现的问题就停止了。