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();
        }
    }

 操作結果:

 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM