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目录下。

浙公网安备 33010602011771号