jingshen 发表于 2015-12-27 17:42:24

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]
查看完整版本: hadoop 中使用perl的坑