3

我在 Hive 中创建了一个自定义 UDF,它在 Hive 命令行中进行了测试并且工作正常。所以现在我有了 UDF 的 jar 文件,我需要做什么才能让用户能够创建指向它的临时函数?理想情况下,从 Hive 的命令提示符我会这样做: -

hive> add jar myudf.jar;
Added [myudf.jar] to class path
Added resources: [myudf.jar]
hive> create temporary function foo as 'mypackage.CustomUDF';

在此之后,我能够正确使用该功能。

但我不想每次我想执行该功能时都添加 jar。我应该能够在以下情况下运行此功能:-

  1. 从 Visual Studio 对 HDInsight 群集执行 Hive 查询
  2. 通过 SSH(Linux) 或 RDP/cmd(Windows) 从命令行执行 Hive 查询
  3. 从 Ambari (Linux) Hive 视图执行 Hive 查询
  4. 从 HDinsight 查询控制台 Hive 编辑器(Windows 集群)执行 Hive 查询

因此,无论我如何执行查询,JAR 都应该已经可用并添加到路径中。对于 Linux 和 Windows 集群,确保这一点的过程是什么?

4

1 回答 1

1

可能您可以将 jar 添加到 hive etc/conf 目录中的 hiverc 文件中。每次 hive 启动时都会加载此文件。因此,从下次开始,您无需为该会话单独添加 jar。

于 2016-07-22T06:13:21.973 回答