hadoop 系列问题

1.hadoop内置jar包问题:

自己打了一个jar包exp1.jar中重写了WordCount.java和Sort.java

执行一下命令 bin/hadoop jar bin/exp1.jar org.apache.hadoop.examples.WordCount  /input  /output  

发现每次执行的不是我的jar包,而是hadoop库中的WordCount和Sort程序.

解决方案:内置jar包的文件都在org.apache.hadoop.examples/ 下,所以改一下名字就不会读取到内置的包了,例如: 自己的jar文件的程序包结构改成org.apache.hadoop.WordCount,再执行bin/hadoop jar bin/exp1.jar org.apache.hadoop.WordCount  /input  /output  就不会出错了.


2.hadoop每次执行都会检查output文件夹已存在问题:

hadoop每次都会检查output文件夹是否存在,若存在则报错,特别麻烦,可以在程序中解决,比如在输出之前加上:


         // 判断output文件夹是否存在,如果存在则删除  
        Path path = new Path(otherArgs[otherArgs.length - 1]);  
FileSystem fileSystem = path.getFileSystem(conf);// 根据path找到这个文件  

        if (fileSystem.exists(path)) {      

            fileSystem.delete(path, true);// true的意思是,就算output有东西,也一带删除  

        }
    

此方法参考他人,很抱歉已经忘记出处是哪了.

其他问题之后补充.


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值