我正在使用 Cloudera 5.3.1 并使用相应的 Hive API 我能够通过 Java 进行一些查询。但是,我的一些查询需要一些 UDF,我为其添加了 jars。
我已经从 .hiverc 添加了 jar,hive 命令行很好地使用了它。但是,Java 在从 Java API 调用时不使用 jars。我在以下类路径中添加了 jars 但没有用:-
/opt/cloudera/parcels/CDH/lib/hive/lib/
看起来 hive 没有将上面的作为类路径。现在我正在执行 Hiveql 查询来为每个语句单独添加 jars:-
stmt.execute("add jar hdfs:///user/hive/aux_jars/opencsv.jar");
在上面我执行了我想要的其他语句。但是必须有一种方法让 hive 在从 Java API 获取命令时自动获取 jar。有人可以建议我错过了什么吗?
最佳答案
基本上,您需要通过 Cloudera Manager 设置 Hive Auxiliary JARs Directory 属性,然后将 jar 注册为 Hive 中的函数。
详细信息可以在Cloudera documentation中找到.
关于java - Hive Java API 注册 jar ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28848199/