java代码对hdfs进行读写操作

java代码对hdfs进行读写操作

  • 两个jar包
  • 操作代码
  • 注意

两个jar包

pom中导入两个jar包,hadoop common和 hadoop HDFS
java代码对hdfs进行读写操作_第1张图片

操作代码

public class MyReadAndWrite {
    static FileSystem fs;

    static {
        try {
            fs = FileSystem.get(new URI("hdfs://192.168.56.20:9000"),new Configuration());
        } catch (IOException e) {
            e.printStackTrace();
        } catch (URISyntaxException e) {
            e.printStackTrace();
        }
    }


    public void read(){
        try {
            FSDataInputStream is = fs.open(new Path("/mydemo/jzy/question.txt"));
            FileOutputStream os = new FileOutputStream("D:\\study\\pracbox\\question01.txt");
            IOUtils.copyBytes(is,os,4096,true);
        } catch (IOException e) {
            e.printStackTrace();
        }
    }

    public void write(){
        try {
            FSDataOutputStream os = fs.create(new Path("/mydemo/jzy/aa.txt"));
            FileInputStream is = new FileInputStream("D:\\study\\pracbox\\bb.txt");
            IOUtils.copyBytes(is,os,4096,true);
        } catch (IOException e) {
            e.printStackTrace();
        }
    }



    public static void main(String[] args) {
//        new MyReadAndWrite().read();
        new MyReadAndWrite().write();
    }
}

注意

注意进行输出操作即写入hadoop文本时,需要对其进行赋权操作
hdfs dfs -chmod -R 777 /mydeom(文件目录)

你可能感兴趣的:(#,Hadoop)