回收Pig中的关系名称

时间:2015-01-08 23:01:15

标签: apache-pig

回收Pig中的关系名称是个好主意吗?特别是,如果我总是在整个脚本中使用一个且只有一个名称,例如:

relation1 = LOAD 'myfile.txt';
relation1 = FILTER relation1 BY ($1 > 0);
relation1 = GROUP relation1 BY $2;

是否以及如何影响表现?

1 个答案:

答案 0 :(得分:2)

这绝对是valid in Pig,但不推荐。我正在粘贴猪文档链接中的信息

可以reuse relation names;例如,这是合法的:

A = load 'NYSE_dividends' (exchange, symbol, date, dividends);
A = filter A by dividends > 0;
A = foreach A generate UPPER(symbol);

然而,it is not recommended.在这里看起来好像你正在重新分配A,但实际上你正在创建一个名为A,losing track of the old relations called A的新关系。猪很聪明,可以跟上,但它仍然是not a good practice。在尝试阅读您的程序(我指的是哪个?)以及阅读错误消息时会导致混淆。

<强>参考:
http://chimera.labs.oreilly.com/books/1234000001811/ch05.html#pl_general