Hadoop學習--上傳文件指定複製因子--day04

import java.io.ByteArrayOutputStream;

import java.io.FileInputStream;

import java.io.FileOutputStream;

import java.io.InputStream;

import java.net.URL;


import org.apache.hadoop.conf.Configuration;

import org.apache.hadoop.fs.FSDataInputStream;

import org.apache.hadoop.fs.FSDataOutputStream;

import org.apache.hadoop.fs.FileStatus;

import org.apache.hadoop.fs.FileSystem;

import org.apache.hadoop.fs.FileUtil;

import org.apache.hadoop.fs.FsUrlStreamHandlerFactory;

import org.apache.hadoop.fs.Path;

import org.apache.hadoop.io.IOUtils;

import org.junit.Test;


public class modify_replication {

@Test

public void modirepli() throws Exception {

// 創建configuration對象,有個默認的加載順序,先從core-default.xml,再到src目錄中的文件,這

//裏我們給定了

Configuration conf = new Configuration();

        //修改當前文件的塊大小

        conf.set("dfs.blocksize", "20480");

// 從配置文件中得到該分佈式文件系統的對象

FileSystem fs = FileSystem.get(conf);

//修改複製因子,其實是通過創建新的流,在上傳新的數據的過程中指定了新的文件副本數的意思,並不

//是真正修改了原有的文件副本數

FSDataOutputStream out = fs.create(new Path("/user/hadoop/data2/kaola-copy2.jpg"), (short)2);

IOUtils.copyBytes(new FileInputStream("E:/zhaopian.jpg"), out, 1024);

out.close();

}

}


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章