25.1.23(HDFS3)

3. 代码示例:使用 Java API 操作 HDFS

以下是一个简单的 Java 代码示例,用于在 HDFS 中创建一个目录并上传一个本地文件到该目录中:

import org.apache.hadoop.conf.Configuration;
import org.apache.hadoop.fs.FileSystem;
import org.apache.hadoop.fs.Path;
 
public class HdfsExample {
    public static void main(String[] args) {
        try {
            // 创建配置对象,加载Hadoop配置文件
            Configuration conf = new Configuration();
            conf.set("fs.defaultFS", "hdfs://localhost:9000");
 
            // 获取文件系统对象
            FileSystem fs = FileSystem.get(conf);
 
            // 创建目录
            Path dirPath = new Path("/user/hadoop/testdir");
            if (!fs.exists(dirPath)) {
                fs.mkdirs(dirPath);
                System.out.println("目录创建成功:" + dirPath);
            }
 
            // 上传文件
            Path localPath = new Path("C:\\localfile.txt");
            Path hdfsPath = new Path("/user/hadoop/testdir/localfile.txt");
            fs.copyFromLocalFile(localPath, hdfsPath);
            System.out.println("文件上传成功:" + hdfsPath);
 
            // 关闭文件系统对象
            fs.close();
        } catch (Exception e) {
            e.printStackTrace();
        }
    }
}

  

在上述代码中,我们首先创建了一个Configuration对象,并设置了 HDFS 的默认文件系统地址。然后通过FileSystem.get(conf)获取了 HDFS 的文件系统对象。接着,我们使用fs.mkdirs(dirPath)创建了一个名为/user/hadoop/testdir的目录,并使用fs.copyFromLocalFile(localPath, hdfsPath)将本地文件C:\localfile.txt上传到了 HDFS 中的/user/hadoop/testdir目录下。

posted @ 2025-01-23 21:20  a_true  阅读(32)  评论(0)    收藏  举报