本文共 2805 字,大约阅读时间需要 9 分钟。
HDFS(Hadoop Distributed File System)是一种设计高效存储和管理海量数据的分布式文件系统。其核心目标是支持大规模数据的存储和管理。通过Java API,可以对HDFS进行丰富的操作,如文件创建、删除、复制、目录管理以及数据下载等。
import org.apache.hadoop.fs.FileSystem;import org.apache.hadoop.fs.Path;public class HDFSDemo { public static void createFile() throws IOException { String pathStr = "/user/hdfstest/test.txt"; FileSystem fs = FileSystem.get(new URI("hdfs://localhost:8020")); Path filePath = new Path(pathStr); fs.create(filePath); }}
import org.apache.hadoop.fs.FileSystem;import org.apache.hadoop.fs.Path;public class HDFSDemo { public static void deleteFile() throws IOException { String pathStr = "/user/hdfstest/test.txt"; FileSystem fs = FileSystem.get(new URI("hdfs://localhost:8020")); Path filePath = new Path(pathStr); boolean deleteResult = fs.delete(filePath, true); System.out.println("是否删除成功:" + deleteResult); }}
import org.apache.hadoop.fs.FileSystem;import org.apache.hadoop.fs.Path;public class HDFSDemo { public static void createDir() throws IOException { String dirPathStr = "/user/hdfstest/mydir"; FileSystem fs = FileSystem.get(new URI("hdfs://localhost:8020")); Path dirPath = new Path(dirPathStr); fs.mkdirs(dirPath); }}
import org.apache.hadoop.fs.FileSystem;import org.apache.hadoop.fs.Path;public class HDFSDemo { public static void deleteDir() throws IOException { String dirPathStr = "/user/hdfstest/mydir"; FileSystem fs = FileSystem.get(new URI("hdfs://localhost:8020")); Path dirPath = new Path(dirPathStr); boolean deleteResult = fs.delete(dirPath, true); System.out.println("是否删除成功:" + deleteResult); }}
import org.apache.hadoop.fs.FileSystem;import org.apache.hadoop.fs.Path;import org.apache.hadoop.fs.FSDataInputStream;import java.io.FileInputStream;import java.io.FileOutputStream;public class HDFSDemo { public static void downloadFile() throws IOException { String remotePath = "/user/hdfstest/test.txt"; String localPath = "D:/hdfsexample/test.txt"; FileSystem fs = FileSystem.get(new URI("hdfs://localhost:8020")); Path remoteFile = new Path(remotePath); FSDataInputStream inputStream = fs.open(remoteFile); FileOutputStream outputStream = new FileOutputStream(localPath); // 使用IOUtils进行数据转移(示例简化,实际操作中需添加具体处理逻辑) // ... System.out.println("文件下载完成!"); }}
FileSystem.get()
方法获取远程HDFS文件系统对象,通常需要配置文件的路径和地址。FileSystem
对象调用对应的方法进行文件操作,如create
、delete
、copyFromLocalFile
等。Path
对象管理目录,通过mkdirs
和delete
方法进行目录的创建和删除。这些代码示例展示了HDFS Java API在实际应用中的常用操作,能够帮助开发者快速实现对HDFS的文件管理和数据访问功能。
转载地址:http://mkcl.baihongyu.com/