初学Hadoop

按照《Hadoop应用开发技术详解》一书中的步骤,配置好Hadoop。配置过程中没有遇到问题,于是迫不及待要拿个例子来试一下。选择了最常见的WordCount的例子。由于初学,所以决定自己动手敲代码(后来知道Hadoop中有),代码写好后,导出jar文件——OK,部署——OK,运行——出问题了。

开始说什么xml文件无法转换成Text文件。整个过程两处用到Text,输入和输出。输入这点应该没什么问题,然后从输出着手找问题,为什么会出现xml文件。仔细检查代码后发现,job.setOutputKeyClass用到Text类,我的Eclipse自动帮我导入com.sun.jersey.core.impl.provider.entity.XMLJAXBElementProvider.Text;这个包。当时我就一脸懵逼,果断改Hadoop中io包。

重新导出,部署,心想这次应该可以了吧。然而几十秒之后感觉脸很疼,还是报错,错误信息是FileAlreadyExitException,意思是输出文件已经存在。这时候想到两种方法:

1)换一个输出文件啊,原来叫output1现在叫output2。嗯,这样时间长了会产生很多垃圾文件吧。

2)一个字,删。hadoop fs -rm 文件名;想删文件夹的话,Hadoop提供了命令 hadoop fs -rmr 文件夹。

好的,输出文件删除之后,重新运行。终于!!!成功了!!!

怀着激动的心情,看一下运行结果,希望能有点成就感。然后出现了这一幕。所有单词数都是0!!!Excuse me?反复运行,一直都是这样。网上好像也没人遇到过这种问题。没办法,还是要淡定下来,好好找原因,Hadoop配置没有问题,那么问题一定是代码了,代码也没有报错,没有语法错误,由于是初学,还没有什么调试技巧,只能一行一行检查代码。后来发现private final static IntWritable one = new IntWritable(1);这行代码中,初始化时漏写1。。。原因后续补充。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值