Hive Java API register jars



我使用Cloudera 5.3.1,并使用相应的Hive API我可以通过Java进行一些查询。然而,我的一些查询需要一些UDF,我为其添加了jar。

我添加了来自.hiverc的罐子,这被hive命令行很好地接受了。然而,当从Java API调用时,Java不会接受jar。我在以下类路径中添加了jar,但没有使用:-

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

看起来hive并没有将以上内容作为类路径。现在,我正在执行Hiveql查询,为每条语句单独添加jar:-

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

在以上内容之后,我执行我想要的其他语句。但是,当从Javaneneneba API获取命令时,必须有一种方法使配置单元自动获取jar。有人能告诉我我缺了什么吗?

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

详细信息可在Cloudera文档中找到。

最新更新