hadoop 中使用perl的坑
hadoop 中使用perl的时候, 坑太多了。先列举一下, 以后hadoop中能不使用perl, 就不使用perl了。
(1) chomp
在读数据循环的时候, 常常会这样去除空格
while(<STDIN>)
{
chomp;
.........
}
问题在哪里?
如果从标准读入的数据格式为: "*\t\t\t\n".
那么chomp会把 后面的 \t 也个清空了, 后面在使用的时候, 就会发生错误。
(2) warning信息
如果你的perl程序中使用了 using warnings, 那么恭喜你, 你的程序可能会把整个集群搞挂。
为什么会这样呢?
比如:在输出的时候, 使用了 print "$a\t$b\t$c\n";
如果其中的$b或者$c没有定义, 那么perl就会输出一条warning信息。 如果每条数据你都有这样的问题,不幸的是你的数据很大,那么log就会执行tast的机器。 这个时候就自认倒霉吧, 等账号被封并且邮件cc给你的boss和你的boss的boss吧。
先想到了这么多, 后面再补充
页:
[1]