Apache pig 基本清管器问题-从另一组中减去一组

Apache pig 基本清管器问题-从另一组中减去一组,apache-pig,comm,Apache Pig,Comm,我想从另一只猪身上减去一组。 我想做与bash上的“comm-23”命令完全相同的事情,但我在互联网上找不到任何关于这方面的文档 例如: A组为: 1 2 三 4 5 六, B组为: 三 4 5 6 七, 我需要的输出是:A组-B组: 1 2查看包裹。它包括许多有用的自定义项,包括集合操作。正如WinnieNicklaus所建议的,这是一个很好的资源。我为这个用例编写了UDF。假设您正在使用包,这将适用于您的用例 文档中的示例: define SetDifference datafu.pig.s

我想从另一只猪身上减去一组。 我想做与bash上的“comm-23”命令完全相同的事情,但我在互联网上找不到任何关于这方面的文档

例如: A组为: 1 2 三 4 5 六,

B组为: 三 4 5 6 七,

我需要的输出是:A组-B组: 1
2

查看包裹。它包括许多有用的自定义项,包括集合操作。

正如WinnieNicklaus所建议的,这是一个很好的资源。我为这个用例编写了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);
}

那么,A组和B组的数据结构是什么?它们是包吗?