Hive 在on子句中使用自定义udf时,如何在配置单元中模拟“not in”操作?

Hive 在on子句中使用自定义udf时,如何在配置单元中模拟“not in”操作?,hive,Hive,我的hql如下: 在StrContaincdo_oplog.clientid、inner_ip.ip中,从StrContaincdo_oplog left outer join inner_ip中选择cdo_oplog.operatorid、cdo_oplog.clientid,其中inner_ip.ip为空 正如您所看到的,这个hql可以做与MySQL中的查询相同的事情。但当我在配置单元中发布它时,会抛出以下错误: 失败:语义分析错误:第1行:91在联接“ip”中同时遇到左别名和右别名 当我在

我的hql如下:

在StrContaincdo_oplog.clientid、inner_ip.ip中,从StrContaincdo_oplog left outer join inner_ip中选择cdo_oplog.operatorid、cdo_oplog.clientid,其中inner_ip.ip为空

正如您所看到的,这个hql可以做与MySQL中的查询相同的事情。但当我在配置单元中发布它时,会抛出以下错误:

失败:语义分析错误:第1行:91在联接“ip”中同时遇到左别名和右别名

当我在谷歌上搜索时,我发现,但该解决方案只适用于in-query,而不适用于notin。有人能给我一个在蜂巢中不在查询的替代方案吗?非常感谢

配置单元无法在join语句的上下文中应用StrContaincdo_oplog.clientid、inner_ip.ip


但你似乎已经意识到了这一点。因此,也许您想进一步解释一下您希望实现的目标?

我打算在配置单元中实现not in查询,可以在INTERNAL_ip.ip为null的位置看到。是的,我理解这一点。我在过去已经回答了如何做在与不在,所以在这种情况下,是否有一种替代方法,需要udf at on条款?不,您正确地处理了该部分。问题是,配置单元中的连接在允许的范围内是严格的/有限的。这是我的理解和经验,他们不能处理UDF的,因为你正在尝试。YMMV。