【发布时间】:2014-06-04 13:39:43
【问题描述】:
我有一个具有 UDF 功能的配置单元查询文件。当我使用“hive -f myqfile.q”运行此查询文件时,它正在正确执行并且数据填充到我的最终表中。
但是当相同的查询文件通过 oozie 工作流执行运行时,它会失败并显示以下错误消息,
FAILED: SemanticException: [Error: 10014]: Line: 29:17 Wrong arguments '"start"': No method matching for class com.abc.xyz.hive.udf.GetRowKeyRange with (string, string, string, string). Possible choices: _FUNC_(string, string, string, string, string)
Intercepting System.exit(10014)
Failing Oozie Launcher, Main class [org.apache.oozie.action.hadoop.HiveMain], exit code [10014]
在上述错误消息中,“start”是我的 hive udf 参数之一的值。
q 文件存在的 Jar 路径是正确的(手动执行正在工作),并且在侧 q 文件中创建了 hive udf 名称,并且类 com.abc.xyz.hive.udf.GetRowKeyRange 具有评估方法只有 4 个参数。
我不确定这个错误是如何出现的,我试图弄清楚,最后我无法弄清楚这个错误的原因。有人可以帮我解决这个问题。
【问题讨论】:
-
是你的 oozie wokring 吗?我的意思是在 oozie 上成功运行的任何其他工作?显示你的属性文件和 xml 文件。有的话可以试试hue。
-
是的,这个集群上运行了很多 oozie 作业,只有执行上述 udf 调用的作业失败了。