我正在使用 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的方法。有人可以建议我缺少什么吗?
答案 0 :(得分:1)
基本上你需要通过Cloudera Manager设置Hive Auxiliary JARs Directory属性,然后在jar中将jar注册为函数。
详细信息可在Cloudera documentation中找到。