对hadoop中copyFromLocalFile 的小测试

刚开是学习hadoop,运行一个hadoop文件复制相关的小例子:

public class CopyFile {
 public static void main(String[] args) throws IOException {
  // TODO Auto-generated method stub
  Configuration conf =new Configuration();
  FileSystem hdfs =FileSystem.get(conf);
  Path src=new Path("/home/b1107/hadoop/input");
  Path dst=new Path("/");
  hdfs.copyFromLocalFile(src, dst);
  FileStatus files[]=hdfs.listStatus(dst);


System.out.println("Upload to "+conf.get("fs.default.name)); 

for(FileStatus file:files){
   System.out.println(file.getPath());
  }
 }
}

我同过eclipse+hadoop运行,发现input文件本没有传到HDFS中,而是传到本地的文件系统的用户根目录,而且System.out.println("Upload to "+conf.get("fs.default.name));
的结果是:Upload to file:///

因为是刚接触hadoop,对于该问题是在是束手无策,就请教了hadoop学习群的高手,有人指出在Configuration conf =new Configuration();后加一句conf.set("fs.default.name","hdfs://localhost:9000");,过然这样就能传到hdfs中。

在不加conf.set("fs.default.name","hdfs://localhost:9000")时,我发现直接在hadoop上运行是能够传到HDFS的,是在搞不明白。八次问题记录在此,以便以后解决,也希望高手能指点问题的原因。

 

  • 3
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 5
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值