54l*_*l3d 9 java hive user-defined-functions udf
我已经在java中开发了一个正常工作的hive udf,我的函数返回输入和hive表中的列之间的最佳匹配,所以它有这个简化的伪代码:
class myudf extends udf{
evaluate(Text input){
getNewHiveConnection(); //i want to replace this by getCurrentHiveUserConnetion();
executeHiveQuery(input);
return something;
}
Run Code Online (Sandbox Code Playgroud)
我的问题是,如果这个函数是由Hive调用的,为什么我需要在我的代码中连接到hive?我可以使用当前连接使用我的功能的用户连接吗?
小智 -3
是的 - 您可以使 UDF 永久化。例如:
\n\nCREATE FUNCTION MatchFinder as \'com.mycompany.packagex.myudf\' using jar\xc2\xa0 \'hdfs:///an_HDFS_directory/my_jar_name.jar\';\n
Run Code Online (Sandbox Code Playgroud)\n\n这将使您的函数永久存在,任何人都可以调用它。在本例中,jar 文件存储在 HDFS 上以便于访问,但还有其他选项。
\n\n有关更多详细信息,请参阅Hive 维基。
\n