我可以在蜂巢和黑斑羚中使用基于Java的UDF,但是在ClassNotFound
子句中调用udf时抛出where
错误
在where
子句中引用时,UDF无法使用,但仅在Impala 2.9.0-cdh5.12.1
select
后面引用时,UDF才能正常工作
在蜂巢select udfjson(memo,state) from tableA where udfjson(memo,state) = 0 and name = 'test'
中可以正常工作,但在黑斑羚中不能正常工作。
在impala中执行select udfjson(memo,state) from tableA where name = 'test'
是可以的。 UDF只能在Impala中使用,而不能在where
子句中使用
这是错误
Error(255): Unknown error 255
Root cause: NoClassDefFoundError: org/apache/hadoop/hdfs/DFSInputStream$ByteArrayStrategy
是否可以在where
子句中使用impala引用UDF?
答案 0 :(得分:1)
使用子查询:
select * from
(
select udfjson(memo,state) as state from tableA where name = 'test'
)s
where s.state=0