我想从另一只Pig身上减去一组。我想做完全相同的什么“comm-23”命令是在bash上做的,但我找不到任何有关的文件在互联网上。例如:a组是:1 2 3 4 5 6b组:3 4 5 6 7我需要的输出是:a组-b组:12
flvtvl501#
查看datafu包。它包括许多有用的自定义项,包括集合操作。
fiei3ece2#
正如winnienicklaus所说,datafu是一个很好的资源。我为这个用例编写了setdifference udf。假设您正在使用包,这将适用于您的用例。文档中的示例:
define SetDifference datafu.pig.sets.SetDifference(); -- input: -- ({(1),(2),(3),(4),(5),(6)},{(3),(4)}) input = LOAD 'input' AS (B1:bag{T:tuple(val:int)},B2:bag{T:tuple(val:int)}); input = FOREACH input { B1 = ORDER B1 BY val ASC; B2 = ORDER B2 BY val ASC; -- output: -- ({(1),(2),(5),(6)}) GENERATE SetDifference(B1,B2); }
2条答案
按热度按时间flvtvl501#
查看datafu包。它包括许多有用的自定义项,包括集合操作。
fiei3ece2#
正如winnienicklaus所说,datafu是一个很好的资源。我为这个用例编写了setdifference udf。假设您正在使用包,这将适用于您的用例。
文档中的示例: