在 Hive 处理数据过程中遇到报错: Both left and right aliases encountered in JOIN
失败原因: Hive 不支持两表 join 时, 两表的字段间的非相等关联条件
报错片段摘录:
解决方式:
① 将两个非相等条件放在 where 后面
上述红框圈中地方, 修改为如下
....
) ybnsrsb on nsrxx.djxh = ybnsrsb.djxh
where
ybnsrsb.skssqq <= jsqz
and ybnsrsb.skssqz >= jsqq
② 在 select 中使用字段进行判断 (根据加工结果中 condition 字段的结果 0,1 进行判断)
select
...
if(ybnsrsb.skssqq <= jsqz and and ybnsrsb.skssqz >= jsqq,0,1) as condition,
...
from
ybnsrsb
left join nsrxx
on nsrxx.djxh = ybnsrsb.djxh