25.1.23(HDFS3)

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

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

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
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 @   a_true  阅读(3)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· C#/.NET/.NET Core优秀项目和框架2025年2月简报
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下
· 【杭电多校比赛记录】2025“钉耙编程”中国大学生算法设计春季联赛(1)
历史上的今天:
2024-01-23 24.1.13
点击右上角即可分享
微信分享提示