Hive Java API寄存器jar

时间:2015-03-04 06:48:12

标签: java hadoop hive

我正在使用 Cloudera 5.3.1 并使用相应的 Hive API 我可以通过Java进行一些查询。但是我的一些查询需要一些我添加jar的UDF。

我添加了来自.hiverc的jar,hive命令行很好地使用了它。但是Java从Java API调用时不会使用jar。我在以下类路径中添加了jar但没有用: -

/opt/cloudera/parcels/CDH/lib/hive/lib/

看起来hive并未将上述内容视为类路径。现在我正在执行Hiveql查询,为每个语句单独添加jar: -

stmt.execute("add jar hdfs:///user/hive/aux_jars/opencsv.jar");

在上面我执行我想要的其他语句。但是,从Java API获取命令时,hive必须有一种自动获取jar的方法。有人可以建议我缺少什么吗?

1 个答案:

答案 0 :(得分:1)

基本上你需要通过Cloudera Manager设置Hive Auxiliary JARs Directory属性,然后在jar中将jar注册为函数。

详细信息可在Cloudera documentation中找到。