我使用Hive创建表存储顺序文件。行格式是myserde.TestDeserializer中的serder类hiveserde-1.0.jar
在命令行中,我使用这个命令添加jar文件:
蜂巢添加JAR hiveserde-1.0 JAR
然后创建一个表,该文件将成功加载。
但是现在我想运行它并使用mysql在客户机上创建一个表。错误是:
SerDe: myserde.TestDeserializer不存在。
怎么运行?谢谢
发布于 2012-12-26 12:48:14
所以,有几个选择。在所有这些程序中,jar都需要显示在安装了Hive的集群中。当然,JDBC客户端代码可以在集群内外的任何地方运行。
选项1:在运行任何其他HQL命令之前发出HQL查询:
ADD JAR hiveserde-1.0.jar
选项2:您可以更新hive-site.xml以将hive.aux.jars.path属性设置为jar hiveserde-1.0.jar的完整路径
发布于 2015-05-11 11:33:19
转到您的hive-env.sh并将其追加到文件的底部:
export HIVE_AUX_JARS_PATH=$HIVE_AUX_JARS_PATH:/<path-to-jar>然后,您可以获取此文件。不太理想,但效果很好。
发布于 2012-12-26 01:56:57
您是说您希望通过jdbc而不是在CLI中创建表吗?在这种情况下,在运行jdbc代码时,应该将jar添加到类路径中。
https://stackoverflow.com/questions/14032924
复制相似问题