我一直在苦苦思索如何将MS的IDENTITY列的hive等效项添加到表中并自动递增。我找到了很多对org.apache.hadoop.hive.contrib.udf.UDFRowSequence的引用,但我不知道它在我的集群的HortonWorks 2.3安装中的什么位置。我不知道从哪里开始。我见过一个java文件here,我想我必须编译它,但是一旦我有了.jar,它会去哪里呢?我曾尝试将SerDe jar用于另一个任务,但我无法让hive查看/使用它(请参阅我在此here上的问题)。我试着按照这个案例研究来创建一个自定义的UDF here。然而,我找不到他们在我的Hortonworks安装中描述的路径(路径看起来像ql/src/java/org/apache/hadoop/hive/ql/udf/generic/)。
似乎每个创建UDF的教程/指南/参考资料都假设了一些我还没有掌握的知识。如何在配置单元的Hortonworks安装中创建/使用UDFRowSequence功能?
发布于 2015-10-13 21:27:18
为了在Hive中使用UDF,需要编译Java代码并将UDF字节码类文件打包成JAR文件。然后,打开Hive会话,将JAR添加到类路径中
hive> ADD JAR full path to jar file;这里的路径需要是您必须放置jar文件的本地文件系统的完整路径。
并使用CREATE FUNCTION语句定义使用Java类的函数:
hive> CREATE TEMPORARY FUNCTION functionname
> AS 'classname with full package name';然后,您可以在配置单元会话中使用函数名。
路径ql/src/java/org/apache/hadoop/hive/ql/udf/generic/实际上是指java类的包名。
发布于 2018-12-26 23:46:52
复制$ hive _HOME/lib内的jar文件并重新启动配置单元客户端
cp full_path_to_jar_file $HIVE_HOME/lib/
https://stackoverflow.com/questions/33102835
复制相似问题