Hello World

Java 实现 HDFS 文件基本操作

1. pom

        <hadoop.version>2.7.3</hadoop.version>  
<dependency> <groupId>org.apache.hadoop</groupId> <artifactId>hadoop-client</artifactId> <version>${hadoop.version}</version> </dependency> <dependency> <groupId>org.apache.hadoop</groupId> <artifactId>hadoop-common</artifactId> <version>${hadoop.version}</version> </dependency> <dependency> <groupId>org.apache.hadoop</groupId> <artifactId>hadoop-hdfs</artifactId> <version>${hadoop.version}</version> </dependency>

 2. Java基本操作

    // 定义一个fileSystem的变量,用的是Hadoop的包
    FileSystem fileSystem = null;

    public void init()  {
        // 设置环境变量,让程序可以找到bin目录下的 winutils.exe
        // 找不到 winutils.exe 会报错,但是也没关系,并不影响程序运行
        System.setProperty("hadoop.home.dir", "D:\\project\\Hadoop\\hadoop-3.1.1\\hadoop-3.1.1");
        try {
            // 获取一个具体的文件系统对象
            fileSystem = FileSystem.get(
                    // 创建一下HDFS文件系统的访问路径,就是Hadoop配置文件中的core-sit.xml中的HDFS文件系统的所在机器
                    new URI("hdfs://node34:8020"),
                    // 创建一个Hadoop的配置文件的类
                    new  Configuration(),
                    // 就是Linux启动的用户名
                    "root");
            System.out.println(fileSystem);
            Path dirPath = new Path("/hadoop126");
            if (!fileSystem.exists(dirPath)) {
                boolean mkdirs = fileSystem.mkdirs(dirPath);
                System.out.println("创建文件:"+dirPath.getName());
            } else {
                System.out.println("文件已存在");
            }
            System.out.println("OK");
        } catch (Exception e) {
            e.printStackTrace();
        }
    }

 操作结果:

 

 

posted @ 2019-01-01 17:51  小小忧愁米粒大  阅读(1686)  评论(0编辑  收藏  举报
瞅啥瞅,好好看书