HDFS文件上传

	 @Test
	    /**
	     * HDFS文件上传
	     */
	    public void putFileToHDFS() throws URISyntaxException, IOException, InterruptedException {
	        //1.获取文件系统
	        Configuration configuration = new Configuration();
	        FileSystem fs = FileSystem.get(new URI("hdfs://testnote01:9000"),configuration,"root");
	        //2.创建输入流
	        FileInputStream fis = new FileInputStream(new File("e:/hostsmap.txt"));
	        //3.获取输出流
	        FSDataOutputStream fos = fs.create(new Path("/114.txt"));
	        //4.流对拷
	        IOUtils.copyBytes(fis,fos,configuration);
	
	        //5.关闭资源
	        IOUtils.closeStream(fos);
	        IOUtils.closeStream(fis);
	        fs.close();
	
	    }

HDFS文件下载

	    /**
	     * HDFS文件的下载
	     */
	    @Test
	    public void getFileFromHDFS() throws URISyntaxException, IOException, InterruptedException {
	        //1 获取文件系统
	        Configuration configuration = new Configuration();
	        FileSystem fs = FileSystem.get(new URI("hdfs://testnote01:9000"),configuration,"root");
	        //2 获取输入流
	        FSDataInputStream fis = fs.open(new Path("/114.txt"));
	
	        //3 获取输出流
	        FileOutputStream fos = new FileOutputStream(new File("e:/wo114.txt"));
	        //4 流的对拷
	        IOUtils.copyBytes(fis,fos,configuration);
	        //5 关闭资源
	        IOUtils.closeStream(fos);
	        IOUtils.closeStream(fis);
	        fs.close();
    }

HDFS文件的定位某一块进行下载

下载第一块
 /**
     * 下载第一块
     */
    @Test
    public void readFileSeek() throws InterruptedException, IOException, URISyntaxException {
        //1 获取文件系统
        Configuration configuration = new Configuration();
        FileSystem fs = FileSystem.get(new URI("hdfs://testnote01:9000"),configuration,"root");
        //2 获取输入流
        FSDataInputStream fis = fs.open(new Path("/user/hadoop-2.7.2.tar.gz"));
        //3 创建输出流
        FileOutputStream fos = new FileOutputStream(new File("e:/hadoop-2.7.2.tar.gz.part1"));
        //4 流的拷贝
        byte[] buf = new byte[1024];

        for (int i = 0; i < 1024*128; i++) {
            fis.read(buf);
            fos.write(buf);
        }
        //5 关闭资源
        IOUtils.closeStream(fos);
        IOUtils.closeStream(fis);
    }
下载第二块
    /**
     * 下载第二块
     */
    @Test
    public void readFileSeek2() throws URISyntaxException, IOException, InterruptedException {
        //1 获取文件系统
        Configuration configuration = new Configuration();
        FileSystem fs = FileSystem.get(new URI("hdfs://testnote01:9000"),configuration,"root");
        //2 打开输入流
        FSDataInputStream fis = fs.open(new Path("/user/hadoop-2.7.2.tar.gz"));
        //3 定位输入数据位置
        fis.seek(1024*1024*128);
        //4 创建输出流
        FileOutputStream fos = new FileOutputStream(new File("e:/hadoop-2.7.2.tar.gz.part2"));
        //5 流的对拷
        IOUtils.copyBytes(fis,fos,configuration);
        //6 关闭资源
        IOUtils.closeStream(fos);
        IOUtils.closeStream(fis);

    }
合并文件

找到文件所在位置,搜索栏搜索cmd
在 window 命令窗口中执行
type hadoop-2.7.2.tar.gz.part2 >> hadoop-2.7.2.tar.gz.part1
重命名文件名:hadoop-2.7.2.tar.gz.part1为hadoop-2.7.2.tar.gz