如何添加SerDe jar

cld*_*ldo 7 hadoop hive

我使用Hive来创建表存储序列文件.行格式serder类myserde.TestDeserializerhiveserde-1.0.jar

在命令行中,我使用此命令添加jar文件:

hive ADD JAR hiveserde-1.0.jar

然后我创建一个表,文件加载成功.

但现在我想运行它并使用mysql jdbc在客户端上创建一个表.错误是:

SerDe:myserde.TestDeserializer不存在.

怎么运行呢?谢谢

小智 11

所以,有一些选择.在所有这些中,安装Hive时,jar需要存在于您的群集上.当然,JDBC客户端代码可以在集群内部或外部的任何位置运行.

选项1:在运行任何其他HQL命令之前发出HQL查询:

ADD JAR hiveserde-1.0.jar

选项2:您可以更新hive-site.xml,将 hive.aux.jars.path属性设置为jar hiveserde-1.0.jar的完整路径

  • 如果你能够更新%HIVE_HOME%/ conf/hive.site.xml,那么一定要选择2号选项.当你从控制台或模板中运行hiveql查询时,它会为你省去很多麻烦. (2认同)

zjf*_*fdu 0

您是说您想通过 jdbc 创建表而不是在 CLI 中创建表吗?在这种情况下,您应该在运行 jdbc 代码时将 jar 添加到类路径中。