将HIVE UDF与hiveconf变量一起使用

时间:2015-11-18 07:27:14

标签: java hive hiveql udf

我有一个Hive UDF,它返回给定IP的IP范围,它看起来像这样:

mytable

基本上我根据选项返回范围内的特定事物。

现在在正确添加jar并创建函数后尝试在Hive中使用此UDF时:

ip

这样的查询运行没有任何问题。 (option是一个现有的表,其中包含select ip,ipToRange(ip,0) from myTable; 列(类型为STRING),我直接传递SET IP='99.67.53.221'; select count(*) from myTable where ip>=ipToRange(${hiveconf:IP},0); 。):

FAILED: SemanticException [Error 10014]: Line 1:56 Wrong arguments '0':
org.apache.hadoop.hive.ql.metadata.HiveException: 
Unable to execute method public java.lang.String  
IPToRangeUDF.evaluate(java.lang.String,java.lang.Integer)
throws java.lang.Exception  on object IPToRangeUDF@1b8a29df of class 
IPToRangeUDF with arguments {99.67.53.221:java.lang.String, 0:java.lang.Integer} of size 2

当我尝试使用hiveconf变量作为IP时出现问题。例如:

ng-binding

查询未运行并提供以下异常:

<title ng-bind="query ? 'Phonecat | ' + query : 'Phonecat'">Phonecat</title>

感谢任何帮助/建议。

0 个答案:

没有答案