在 Pig Latin 中选择不同的行

Posted

技术标签:

【中文标题】在 Pig Latin 中选择不同的行【英文标题】:Selecting distinct rows in Pig Latin 【发布时间】:2014-02-19 21:59:40 【问题描述】:

在 Pig Latin 中,有没有一种选择表格中不同行的好方法?例如,假设我有表 (1, 2, 3); (2, 5, 1); (1, 2, 3),但我想要 (1, 2, 3); (2, 5, 1)。

【问题讨论】:

【参考方案1】:

是的,在 Pig Latin 中,有一个关系运算符 DISTINCT 正是这样做的。

例如:

  -- assume input is:
  -- 1,2,3
  -- 2,5,1
  -- 1,2,3
  data = LOAD 'input' USING PigStorage(',') AS (val1:int,val2:int,val3:int);

  data2 = DISTINCT data;

  -- produces:
  -- 1,2,3
  -- 2,5,1
  DUMP data2;

【讨论】:

以上是关于在 Pig Latin 中选择不同的行的主要内容,如果未能解决你的问题,请参考以下文章

pig latin - 计数不同并分组

向 udf pig latin 发送矩阵

我可以在 Apache Pig Latin 中将命令拆分为多行吗?

如何在 Pig Latin 中进行“总结”?

何时不使用 Pig Latin

如何在 Pig Latin 中每行加载一个带有 JSON 数组的文件