Hadoop-Java进行HDFS文件操作

    技术2022-07-10  97

    Java进行HDFS文件操作

    配置pom.xmlJava进行HDFS文件操作 网盘提取: 链接: https://pan.baidu.com/s/1gbgasTMipzF8moVfSrB8Dw 提取码: heqb

    配置pom.xml

    中下载依赖包 查询所需要的依赖

    <dependency> <groupId>junit</groupId> <artifactId>junit</artifactId> <version>4.12</version> <scope>test</scope> </dependency> <dependency> <groupId>org.apache.hadoop</groupId> <artifactId>hadoop-common</artifactId> <version>2.6.0</version> </dependency> <!-- https://mvnrepository.com/artifact/org.apache.hadoop/hadoop-client --> <dependency> <groupId>org.apache.hadoop</groupId> <artifactId>hadoop-client</artifactId> <version>2.6.0</version> </dependency> <!-- https://mvnrepository.com/artifact/org.apache.hadoop/hadoop-hdfs --> <dependency> <groupId>org.apache.hadoop</groupId> <artifactId>hadoop-hdfs</artifactId> <version>2.6.0</version> </dependency> <dependency> <groupId>commons-logging</groupId> <artifactId>commons-logging</artifactId> <version>1.2</version> </dependency> <dependency> <groupId>commons-logging</groupId> <artifactId>commons-logging</artifactId> <version>1.2</version> </dependency> <dependency> <groupId>org.junit.jupiter</groupId> <artifactId>junit-jupiter-api</artifactId> <version>RELEASE</version> <scope>compile</scope> </dependency>

    Java进行HDFS文件操作

    在main目录下创建resource文件夹-Project Structure 提前打开虚拟机,启动hadoop。

    //创建文件夹 @Test public void testMkdir() throws Exception { //创建配置文件 Configuration conf = new Configuration(); //获取文件系统 FileSystem fs = FileSystem.get(new URI("hdfs://192.168.65.111:9000"),conf,"root"); //调用API操作 fs.mkdirs(new Path("/user/java")); //关闭资源 fs.close(); } @Test public void testCopyFromLocalFile() throws Exception { //创建配置文件 Configuration conf = new Configuration(); //获取文件系统 FileSystem fs = FileSystem.get(new URI("hdfs://192.168.65.111:9000"),conf,"root"); //调用API操作 fs.copyFromLocalFile(new Path("C:\\Users\\think\\Desktop\\log4j.properties"),new Path("/user/java")); //关闭资源 fs.close(); } //下载 @Test public void testXia() throws Exception { //创建配置文件 Configuration conf = new Configuration(); //获取文件系统 FileSystem fs = FileSystem.get(new URI("hdfs://192.168.65.111:9000"),conf,"root"); //调用API操作 fs.copyToLocalFile(new Path("/b.txt"),new Path("C:/Users/think/Desktop/data/c.txt")); //关闭资源 fs.close(); } //删除 @Test public void testShan() throws Exception { //创建配置文件 Configuration conf = new Configuration(); //获取文件系统 FileSystem fs = FileSystem.get(new URI("hdfs://192.168.65.111:9000"),conf,"root"); //调用API操作,b:是否递归删除、 fs.delete(new Path("/user"),true); //关闭资源 fs.close(); }

    测试的时候,下载测试时候出现java.lang.NullPointerException 自己解决方式 在windows下解压hadoop-2.6.0-cdh5.14.2.tar,hadoopBin 把解压后的hadoopBin文件: 全部复制到hadoop-2.6.0-cdh5.14.2/bin目录下: 配置环境(win10):右键此电脑-属性-高级系统设置-环境变量 系统变量:新增HADOOP_HOME:路径是hadoop-2.6.0-cdh5.14.2路径 Path变量中加入%HADOOP_HOME%\bin和%HADOOP_HOME%\sbin: 然后重新打开idea-运行下载测试

    Processed: 0.012, SQL: 9