1

我有一个输入如下的猪脚本:

| 上校 | 上校 B | 上校 C | 科尔D | 上校 |

我有这样的关系,按不同的列分组:

X = Col A | 总和列 C | Sum Col D|

Y = Col B | Sum Col D | Sum Col E|

Z = ...

ETC

然后我需要将 X、Y、Z 存储到不同的文件夹中,因此会多次调用 STORE。Pig 是否知道如何只加载和处理一次数据然后进行存储?

4

3 回答 3

0

您的输入只会被加载一次,但每个GROUP BY都需要一个单独的 MapReduce 作业。

在您的示例中,您正在分组Col ACol B因此您的脚本将编译为两个作业。

于 2013-06-22T11:05:18.633 回答
0

这实际上取决于您拥有的特定猪代码(例如,您可以将其中一个连接作为倾斜等)在任何情况下猪都有EXPLAIN关键字,它向您显示逻辑计划、物理计划以及此处相关的地图/减少为建立任何关系而实施的计划。有关详细信息,请参阅Pig 的手册

于 2013-06-22T16:31:46.817 回答
0

是的,猪知道怎么做。你只会有一份 MR 工作。

于 2013-06-22T18:31:53.547 回答