pig中的循环关系名称

xdnvmnnf  于 2021-06-25  发布在  Pig
关注(0)|答案(1)|浏览(274)

在pig中循环使用关系名是个好主意吗?特别是,如果在整个脚本中始终使用一个且仅使用一个名称,例如:

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

它究竟是如何影响性能的?

3htmauhk

3htmauhk1#

这绝对是 valid in Pig 但不建议这样做。我正在粘贴来自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. 在这里看起来你好像在重新分配一个,但实际上你正在创造一种叫做, losing track of the old relations called A . Pig很聪明,可以跟上,但它仍然是 not a good practice . 在尝试读取程序(我指的是哪一个?)和读取错误消息时,它会导致混淆。
参考文献:
http://chimera.labs.oreilly.com/books/1234000001811/ch05.html#pl_general

相关问题