Hadoop将本地文件复制到Hadoop文件系统

Posted 依稀.мīss.чou

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Hadoop将本地文件复制到Hadoop文件系统相关的知识,希望对你有一定的参考价值。

代码:

package com.hadoop;

import java.io.BufferedInputStream;
import java.io.FileInputStream;
import java.io.InputStream;
import java.io.OutputStream;
import java.net.URI;

import org.apache.hadoop.conf.Configuration;
import org.apache.hadoop.fs.FileSystem;
import org.apache.hadoop.fs.Path;
import org.apache.hadoop.io.IOUtils;
import org.apache.hadoop.util.Progressable;

public class FileCopyWithProgress {

	public static void main(String[] args) throws Exception {
		
		String localSrc = args[0];
		String dst = args[1];
		
		InputStream in = new BufferedInputStream(new FileInputStream(localSrc));
		
		Configuration config = new Configuration();
		FileSystem fs = FileSystem.get(URI.create(dst),config);
		
		OutputStream out = fs.create(new Path(dst),new Progressable() {
			
			@Override
			public void progress() {
				System.out.println(".");
			}
		});
		
		IOUtils.copyBytes(in, out, 4096, true);
	}
}

  hadoop中执行:

 

以上是关于Hadoop将本地文件复制到Hadoop文件系统的主要内容,如果未能解决你的问题,请参考以下文章

使用文件系统将数据从scala中的本地复制到远程hdfs位置时,hadoop权限被拒绝

将远程文件放入hadoop而不将其复制到本地磁盘

将文件从 s3:// 复制到本地文件系统

hadoop CopytoLocal命令在哪里被记录?

hadoop常用命令

hadoop -getmerge有替代品吗?