JAVA API实现HDFS创建、删除文件夹&上传、下载文件

    技术2022-07-10  153

    JAVA API实现hdfs的文件操作需要三个依赖包hadoop-common、hadoop-hdfs和hadoop-client。

    <dependency> <groupId>org.apache.hadoop</groupId> <artifactId>hadoop-common</artifactId> <version>2.6.0</version> </dependency> <dependency> <groupId>org.apache.hadoop</groupId> <artifactId>hadoop-hdfs</artifactId> <version>2.6.0</version> </dependency> <dependency> <groupId>org.apache.hadoop</groupId> <artifactId>hadoop-client</artifactId> <version>2.6.0</version> </dependency>

    HDFS文件操作步骤如下四步: 1.创建配置文件 Configuration 类 2.获取文件系统 FileSystem类中get()方法获取hdfs文件对象 3.调用API操作 FileSystem中对应方法mkdirs()、copyFromLocalFile()、copyToLocalFile()、delete() 4.关闭资源

    package com.hadoop; import static org.junit.Assert.assertTrue; import org.apache.hadoop.conf.Configuration; import org.apache.hadoop.fs.FileSystem; import org.apache.hadoop.fs.Path; import org.junit.Test; import java.net.URI; public class AppTest { //新建hdfs文件夹 @Test public void testMkdirs() throws Exception{ //1.创建配置文件 Configuration conf = new Configuration(); //2.获取文件系统,HDFS文件系统 格式 hdfs://虚拟机:9000 FileSystem fs = FileSystem.get(new URI("hdfs://192.168.197.106:9000"), conf,"root"); //3.调用API操作 fs.mkdirs(new Path("/user/java")); //4.关闭资源 fs.close(); } //上传一个文件 @Test public void testCopyFromLocalFile() throws Exception{ //1.创建配置文件 Configuration conf = new Configuration(); //2.获取系统文件 FileSystem fs = FileSystem.get(new URI("hdfs://192.168.197.106:9000"), conf,"root"); //3.API操作 fs.copyFromLocalFile(new Path("D:\\BaiduNetdiskDownload\\20200106\\Hadoop\\projects\\hdfsRW\\data\\test.txt"),new Path("/user/java")); //4.关闭资源 fs.close(); } //下载文件 @Test public void copyToLocalFile() throws Exception{ //1.创建配置文件 Configuration conf = new Configuration(); //2.获取系统文件 FileSystem fs = FileSystem.get(new URI("hdfs://192.168.197.106:9000"), conf,"root"); //3.API操作 fs.copyToLocalFile(new Path("/hdfs/shell/test.txt"),new Path("D:\\BaiduNetdiskDownload\\20200106\\Hadoop\\projects\\hdfsRW\\data\\test2.txt")); //4.关闭资源 fs.close(); } //删除文件/文件夹 @Test public void testDelete() throws Exception{ //1.创建配置文件 Configuration conf = new Configuration(); //2.获取系统文件 FileSystem fs = FileSystem.get(new URI("hdfs://192.168.197.106:9000"), conf,"root"); //3.API操作 //b:代表是否递归,true会删除指定文件夹及内容,false删除指定文件 fs.delete(new Path("/user/java/test.txt"),false); //4.关闭资源 fs.close(); } }
    Processed: 0.021, SQL: 9