Apache pig 如何通过一组ID筛选别名?
我有一个巨大的别名Apache pig 如何通过一组ID筛选别名?,apache-pig,Apache Pig,我有一个巨大的别名巨大,它有一个字段ID。 我还有一个别名COUNTS,由ID索引。 我想创建一个别名FILTERED,该别名与magng相同,但只包含IDs和小计数,例如: A = join HUGE by ID, COUNTS by ID; B = filter A by COUNTS::N < 1000; FILTERED = foreach B generate HIGE::*; C = foreach (filter COUNTS by N >= 1000) genera
巨大
,它有一个字段ID
。
我还有一个别名COUNTS
,由ID
索引。
我想创建一个别名FILTERED
,该别名与magng
相同,但只包含ID
s和小计数,例如:
A = join HUGE by ID, COUNTS by ID;
B = filter A by COUNTS::N < 1000;
FILTERED = foreach B generate HIGE::*;
C = foreach (filter COUNTS by N >= 1000) generate ID;
FILTERED = filter HUGE by ID not in C;
这里的C相对较小(例如,10k行)
如何执行此操作?由于C
(计数为N>=1000
的行)非常小,因此可以使用a,以便在内存中执行,而无需还原阶段。这将为您使用maging
执行的任何其他操作添加最小的处理
*请注意,在您的示例中,您按N>=1000进行过滤,但您表示希望ID
s具有小计数。不确定哪些是您想要的。1。我想要那些不在C
中的。2.与C
的联接必须是外部联接,并且与复制联接不兼容。您仍然可以将复制联接与左联接一起使用。如果您的问题已得到回答,但答案为您提出了另一个问题,则最好提出一个新问题,而不是编辑原始问题。@WinnieNicklaus:您是对的,对不起。请看一看