在apache pig中,如果我想有条件地存储一些数据,并尝试这样做:
data1 = ....;
data2 = ....;
STORE (condition ? data1 : data2) INTO '$output' USING PigStorage(",");
--assuming pig is smart enough not to run the query for data1 or data2 depending on the condition
然后我得到一个语法错误:
SEVERE: exception during parsing: Error during parsing. <file test.pig, line 38, column 6> Syntax error, unexpected symbol at or near '('
Failed to parse: <file test.pig, line 38, column 6> Syntax error, unexpected symbol at or near '('
我是否在pig中错误地使用了三元运算符,如果这不可能,有没有其他方法可以在pig中实现条件存储,最好不用编写udf。
1条答案
按热度按时间5q4ezhmt1#
不能在store语句中使用三元运算,因为您正试图在问题中这样做。您可以将条件列添加到data1和data2,然后获取联合,然后根据条件值筛选联合的数据。
希望这有帮助。