gpt4 book ai didi

hadoop - Hive:如何构建 UDTF?

转载 作者:可可西里 更新时间:2023-11-01 16:49:44 26 4
gpt4 key购买 nike

我根据教程制作了自己的 UDTF 函数,并将 jar 加载到配置单元中。现在我想创建自己的函数来调用 UDTF。

statement.executeUpdate("ADD JAR /home/hfu/myjar.jar;");
statement.executeUpdate("CREATE TEMPORARY FUNCTION my_function AS 'com.effectivemeasure.hive.UDFT'");

当我运行最后一个 CodeSnippet 时出现异常:

Exception in thread "main" java.sql.SQLException: Error while processing statement: FAILED: Execution Error, return code 1 from org.apache.hadoop.hive.ql.exec.FunctionTask
at org.apache.hive.jdbc.HiveStatement.execute(HiveStatement.java:296)
at org.apache.hive.jdbc.HiveStatement.executeUpdate(HiveStatement.java:406)
at connectToHiveServer2.main(connectToHiveServer2.java:74)

我做错了什么?

这是我使用的教程:

http://beekeeperdata.com/posts/hadoop/2015/07/26/Hive-UDTF-Tutorial.htmlhttp://www.ericlin.me/hive-user-defined-aggregation-function-udaf

最佳答案

我猜您正在尝试通过 JDBC 使用 UDF。尝试以下操作:

  1. 删除;在每行的末尾
  2. 使用execute 代替executeUpdate
  3. 确保 jar 存在于配置单元服务器所在的位置

第 3 条值得评论。当您从 shell 执行 hive 查询时,您的 hive shell 会将 UDTF jar 与其他 hive jar 打包在一起,并将其作为 hadoop 作业提交。使用 jdbc 时,这项工作由配置单元服务器完成,因此 JAR 必须存储在该路径中,但配置单元服务器上,这可能不是您用来运行您的机器的同一台机器程序。

关于hadoop - Hive:如何构建 UDTF?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33846451/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com