【发布时间】:2014-12-21 11:25:08
【问题描述】:
什么时候应该在猪身上使用 flatten?无法从文档中理解。显示的错误消息和问题在 Pig 中完全不同。它说有时 flatten 无法导入,但相同的 flatten 可以在某处工作。
【问题讨论】:
-
请根据您遇到的例外情况修改问题。
-
另外,请添加您尝试执行的代码。
标签: apache-pig
什么时候应该在猪身上使用 flatten?无法从文档中理解。显示的错误消息和问题在 Pig 中完全不同。它说有时 flatten 无法导入,但相同的 flatten 可以在某处工作。
【问题讨论】:
标签: apache-pig
每当您对数据文件中的任何标识符使用 group 命令时,它都会列出与包中标识符有关的所有元组,这有时阅读起来非常麻烦。 因此,如果您在 group 子句之上使用 flatten ,它将在输出文件中分别列出所有元组。使用 flatten 的缺点是同一记录的重复性。因此,要删除重复项,您需要编写一段额外的代码。
非扁平化代码示例:
X = GROUP A BY f1;
DUMP X;
(1,{(1,2,3)})
(4,{(4,2,1),(4,3,3)})
(8,{(8,3,4)})
扁平化代码示例:
X = GROUP A BY f1;
DUMP X;
(1,2,3)
(4,2,1)
(4,3,3)
(8,3,4)
【讨论】: