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吧。 

 

先想到了这么多, 后面再补充 

posted @ 2012-10-19 16:46  nosaferyao  阅读(422)  评论(0编辑  收藏  举报