java - Hive Java API 注册 jar

标签 java hadoop hive

我正在使用 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/

相关文章:

java - 在 Java 的 Import 语句中使用 *

hadoop - 增量 MapReduce 实现(除了 CouchDB,最好)

java - hdfs dfs -ls 的默认值

hadoop - 如何在 Hive 中使用双分隔符?

hadoop - 如何在写入 hive orc 表时合并 spark 中的小文件

java - 仍然无法从端点访问 SoapHeader

java - 使用 java DefaultHttpClient 通过 http 将数据发送到 servlet

java - 如何在按钮单击时显示不同的字符串

java - Mapreduce 编程 : details required

hadoop - 从HIVE表中提取单个列