以下是数据
df1 = df.query('reports_at <= as_of')
col1,col2,col3将形成唯一键的组合。用例是基于col5过滤数据。 对于唯一键组合,我们需要过滤col5值为“dollar”的记录,但前提是相同的组合具有“pound”值。
预期输出
col1,col2,col3,col4,col5
------------------------
10,20,30,40,dollar
20,30,40,50,dollar
20,30,10,50,dollar
61,62,63,64,dollar
61,62,63,64,pound
如何继续进行,因为像Hive这样的Pig中没有特殊的操作符。
col1,col2,col3,col4,col5
------------------------
10,20,30,40,dollar
20,30,40,50,dollar
20,30,10,50,dollar
61,62,63,64,pound
答案 0 :(得分:1)
使用&#39; pound&#39;获取所有记录,然后使用&#39; dollar&#39;获取所有记录。与id组合不匹配&#39; pound&#39;在col5。最后,嫁给他们...... UNION。
B = FILTER A BY col5 == 'pound';
C = JOIN A BY (col1,col2,col3) LEFT OUTER,B BY (col1,col2,col3);
D = FILTER C BY (B::col1 is null);
E = FOREACH D GENERATE A::col1,A::col2,A::col3,A::col4,A::col5;
F = UNION B,E;
DUMP F;
<强>输出强>