我在 PIG 中使用了 In 子句作为
emp =
FILTER employee_table
BY employee_id IN ('873', '809','819','829')
;
现在我需要使用 NOT IN 子句
no_emp =
FILTER employee_table
BY employee_id NOT IN ('873', '809','819','829')
;
产生错误为
2016-08-29 13:22:46,165 [main] ERROR org.apache.pig.tools.grunt.Grunt - ERROR 1200: <line 146, column 14> Syntax error, unexpected symbol at or near 'NOT'
有没有其他方法可以做到这一点?
最佳答案
您可以使用 SPILLED 和 OTHERWISE 命令。下面提到了一个例子
SPLIT employee_table INTO emp1 IF employee_id IN ('873', '809','819','829'), emp2 OTHERWISE;
正如你所猜到的,具有 4 个员工 ID 的数据将指向关系 emp1,其余数据将指向关系 emp2
关于hadoop - pig 是否支持 NOT IN 子句?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39207874/