hadoop如何将本地磁盘文件上传到服务器

package com.pip.data.hadoop.util.test;

import java.io.File;

import org.apache.hadoop.conf.Configuration;
import org.apache.hadoop.conf.Configured;
import org.apache.hadoop.fs.FileSystem;
import org.apache.hadoop.fs.Path;
import org.apache.hadoop.mapred.JobConf;
import org.apache.hadoop.util.Tool;
import org.apache.hadoop.util.ToolRunner;

/**
* @author hewang
*
*/
public class FileSystemUtil extends Configured implements Tool {

@Override
public int run(String[] args) throws Exception {

String inputpath = args[0];
String outputpath = args[1];

JobConf conf = new JobConf(getConf(), FileSystemUtil.class);
FileSystem fileSys = FileSystem.get(conf);
System.out.println("localDir==" + inputpath);
System.out.println("dfs dir==" + outputpath);

if(outputpath.indexOf(File.separator) >= 0) {
outputpath = outputpath.substring(outputpath.lastIndexOf(File.separator));
}
if(!outputpath.startsWith("/"))
outputpath = "/" + outputpath;
System.out.println("outputpath=="+outputpath);

//将本地文件系统的文件拷贝到HDFS中
fileSys.copyFromLocalFile(new Path(inputpath), new Path(outputpath));

//删除输入和输出的临时文件
//fileSys.copyToLocalFile(new Path(shortout),new Path(outputpath));
//fileSys.delete(new Path(shortin),true);
//fileSys.delete(new Path(shortout),true);

return 0;
}

/**
* @param args
*/
public static void main(String[] args) {
args = new String[2];
args[0] = "d:/test/wanghongen/demo/filein/aa.txt";
args[1] = "/wanghongen/demo/filein/wordcount_in0.txt";

try {
int res = ToolRunner.run(new Configuration(), new FileSystemUtil(), args);
System.exit(res);
} catch (Exception e) {
e.printStackTrace();
}

}

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值