iis服务器助手广告广告
返回顶部
首页 > 资讯 > 精选 >Java API操作HDFS方法是什么
  • 495
分享到

Java API操作HDFS方法是什么

2023-07-05 04:07:56 495人浏览 泡泡鱼
摘要

这篇“Java api操作hdfs方法是什么”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“Java AP

这篇“Java api操作hdfs方法是什么”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“Java API操作HDFS方法是什么”文章吧。

一、判断Path指向目录还是文件

net.xxr.hdfs包里创建PathToFileOrDir

Java API操作HDFS方法是什么

package net.xxr.hdfs;import org.apache.hadoop.conf.Configuration;import org.apache.hadoop.fs.FileSystem;import org.apache.hadoop.fs.Path;import java.net.URI;public class PathToFileOrDir {    public static void main(String[] args) throws Exception {        // 创建配置对象        Configuration conf = new Configuration();        // 设置数据节点主机名属性        conf.set("dfs.client.use.datanode.hostname", "true");        // 定义uri字符串        String uri = "hdfs://master:9000";        // 创建文件系统对象        FileSystem fs = FileSystem.get(new URI(uri), conf, "root");        // 创建路径对象,指向目录        Path path2 = new Path("/ied01");        if (fs.isDirectory(path2)) {            System.out.println("[" + path2 + "]指向的是目录!");        } else {            System.out.println("[" + path2 + "]指向的是文件!");        }        // 创建路径对象,指向文件        Path path3 = new Path("/lzy01/test2.txt");        if (fs.isFile(path3)) {            System.out.println("[" + path3 + "]指向的是文件!");        } else {            System.out.println("[" + path3 + "]指向的是目录!");        }    }}

结果

Java API操作HDFS方法是什么

二、删除目录或文件

net.xxr.hdfs包里创建DeleteFileOrDir

Java API操作HDFS方法是什么

1、删除文件

  • 删除/lzy/hello.txt文件

  • 编写deleteFile()方法

package net.xxr.hdfs;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 DeleteFileOrDir {    @Test    public void deleteFile() throws Exception {        // 创建配置对象        Configuration conf = new Configuration();        // 设置数据节点主机名属性        conf.set("dfs.client.use.datanode.hostname", "true");        // 定义uri字符串        String uri = "hdfs://master:9000";        // 创建文件系统对象        FileSystem fs = FileSystem.get(new URI(uri), conf, "root");        // 创建路径对象(指向文件)        Path path = new Path(uri + "/lzy01/hello.txt");        // 删除路径对象指向的文件(第二个参数表明是否递归,删除文件,不用递归)        boolean result = fs.delete(path, false);        // 根据返回结果提示用户        if (result) {            System.out.println("文件[" + path + "]删除成功!");        } else {            System.out.println("文件[" + path + "]删除失败!");        }    }}

结果

Java API操作HDFS方法是什么

利用Hadoop WEBUI界面查看

Java API操作HDFS方法是什么

再运行deleteFile()测试方法,查看结果

Java API操作HDFS方法是什么

可以在删除文件之前,判断文件是否存在,需要修改代码

package net.xxr.hdfs;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 DeleteFileOrDir {    @Test    public void deleteFile() throws Exception {        // 创建配置对象        Configuration conf = new Configuration();        // 设置数据节点主机名属性        conf.set("dfs.client.use.datanode.hostname", "true");        // 定义uri字符串        String uri = "hdfs://master:9000";        // 创建文件系统对象        FileSystem fs = FileSystem.get(new URI(uri), conf, "root");        // 创建路径对象(指向文件)        Path path = new Path(uri + "/lzy01/hi.txt");        // 判断路径对象指向的文件是否存在        if (fs.exists(path)) {            // 删除路径对象指向的文件(第二个参数表明是否递归,删除文件,不用递归)            boolean result = fs.delete(path, false);            // 根据返回结果提示用户            if (result) {                System.out.println("文件[" + path + "]删除成功!");            } else {                System.out.println("文件[" + path + "]删除失败!");            }        } else {            System.out.println("文件[" + path + "]不存在!");        }    }}

结果

Java API操作HDFS方法是什么

2、删除目录

  • 删除/ied01目录

  • 编写deleteDir()方法

@Test    public void deleteDir() throws Exception {        // 创建配置对象        Configuration conf = new Configuration();        // 设置数据节点主机名属性        conf.set("dfs.client.use.datanode.hostname", "true");        // 定义uri字符串        String uri = "hdfs://master:9000";        // 创建文件系统对象        FileSystem fs = FileSystem.get(new URI(uri), conf, "root");        // 创建路径对象(指向目录)        Path path = new Path(uri + "/ied01");        // 判断路径对象指向的目录否存在        if (fs.exists(path)) {            // 删除路径对象指向的目录(第二个参数表明是否递归,删除文件,要递归)            boolean result = fs.delete(path, true);            // 根据返回结果提示用户            if (result) {                System.out.println("目录[" + path + "]删除成功!");            } else {                System.out.println("目录[" + path + "]删除失败!");            }        } else {            System.out.println("目录[" + path + "]不存在!");        }    }

Java API操作HDFS方法是什么

再运行deleteDir()方法,查看结果

Java API操作HDFS方法是什么

3、删除目录或文件

  • 进行三个层面的判断:判断类型(目录或文件)、判断是否存在、判断删除是否成功

  • 删除/ied03/exam.txt文件和/ied02目录

  • 编写delete()方法

@Test    public void delete() throws Exception {        // 创建配置对象        Configuration conf = new Configuration();        // 设置数据节点主机名属性        conf.set("dfs.client.use.datanode.hostname", "true");        // 定义uri字符串        String uri = "hdfs://master:9000";        // 创建文件系统对象        FileSystem fs = FileSystem.get(new URI(uri), conf, "root");        // 定义随机对象        Random random = new Random();        // 产生随机整数 - [0, 1]        int choice = random.nextInt(100) % 2;        // 定义路径字符串        String[] strPath = {"/ied03/exam.txt", "/ied02"};        // 创建路径对象(指向目录或文件)        Path path = new Path(uri + strPath[choice]);        // 判断类型:目录或文件        String type = "";        if (fs.isDirectory(path)) {            type = "目录";        } else {            type = "文件";        }        // 判断存在性        if (fs.exists(path)) {            // 删除路径对象指向的目录或文件            boolean result = fs.delete(path, true);            // 判断删除是否成功            if (result) {                System.out.println(type + "[" + path + "]删除成功!");            } else {                System.out.println(type + "[" + path + "]删除失败!");            }        } else {            System.out.println(type + "[" + path + "]不存在!");        }    }

以上就是关于“Java API操作HDFS方法是什么”这篇文章的内容,相信大家都有了一定的了解,希望小编分享的内容对大家有帮助,若想了解更多相关的知识内容,请关注编程网精选频道。

--结束END--

本文标题: Java API操作HDFS方法是什么

本文链接: https://www.lsjlt.com/news/349390.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • Java API操作HDFS方法是什么
    这篇“Java API操作HDFS方法是什么”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“Java AP...
    99+
    2023-07-05
  • Java API操作Hdfs的示例详解
    目录1.遍历当前目录下所有文件与文件夹2.遍历所有文件3.创建文件夹4.删除文件夹5.上传文件6.下载文件1.遍历当前目录下所有文件与文件夹 可以使用listStatus方法实现上述...
    99+
    2024-04-02
  • Java Stream API使代码更出色的操作方法是什么
    这篇“Java Stream API使代码更出色的操作方法是什么”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看...
    99+
    2023-07-06
  • Java SpringBoot操作Redis的方法是什么
    这篇文章主要讲解了“Java SpringBoot操作Redis的方法是什么”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“Java SpringBoot操作Redis的方...
    99+
    2023-07-05
  • Java操作数据库的方法是什么
    本篇内容介绍了“Java操作数据库的方法是什么”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!一、悲观锁(也叫行级锁)在本次事务的执行过程当中...
    99+
    2023-06-22
  • HDFS怎么利用JAVA进行操作
    这篇文章给大家介绍HDFS怎么利用JAVA进行操作,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。Jar包引入,pom.xml:<dependency>  <groupId>o...
    99+
    2023-05-31
    java hdfs
  • MySQL Workbench操作方法是什么
    这篇“MySQL Workbench操作方法是什么”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“MySQL&nbs...
    99+
    2023-07-05
  • jyk的操作方法是什么
    这篇文章主要介绍“jyk的操作方法是什么”,在日常操作中,相信很多人在jyk的操作方法是什么问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”jyk的操作方法是什么”的疑惑有所帮助!接下来,请跟着小编一起来学习吧...
    99+
    2023-06-29
  • Java操作文件与磁盘的方法是什么
    这篇文章主要介绍“Java操作文件与磁盘的方法是什么”,在日常操作中,相信很多人在Java操作文件与磁盘的方法是什么问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”Java操作文件与磁盘的方法是什么”的疑惑有所...
    99+
    2023-06-03
  • java数组初始化的操作方法是什么
    Java中数组的初始化有多种方法,下面列举了几种常见的方式:1. 在声明数组时直接赋值,例如:```javaint[] nums =...
    99+
    2023-08-18
    java
  • COBOL操作VSAM的方法是什么
    COBOL操作VSAM的方法是通过使用COBOL的特定语句和关键字来访问和处理VSAM数据集。 以下是COBOL操作VSAM的常见方...
    99+
    2023-10-26
    COBOL VSAM
  • python操作MongoDB的方法是什么
    这篇文章主要介绍“python操作MongoDB的方法是什么”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“python操作MongoDB的方法是什么”文章能帮助大家解决问题。MongoDB ...
    99+
    2023-06-28
  • Python操作Excel的方法是什么
    本文小编为大家详细介绍“Python操作Excel的方法是什么”,内容详细,步骤清晰,细节处理妥当,希望这篇“Python操作Excel的方法是什么”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。xlwt 是 Py...
    99+
    2023-06-27
  • C#操作excel的方法是什么
    这篇文章主要介绍“C#操作excel的方法是什么”,在日常操作中,相信很多人在C#操作excel的方法是什么问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”C#操作excel的方法是什么”的疑惑有所帮助!接下来...
    99+
    2023-06-22
  • numpy切片操作方法是什么
    numpy切片操作方法:1、一维数组切片,可以使用类似于Python中的列表切片的方式来进行切片操作;2、二维数组切片,可以使用两个索引值来进行切片操作,第一个索引值表示行,第二个索引值表示列;3、多维数组切片,可以使用多个索引值来进行切片...
    99+
    2023-11-22
    numpy 切片
  • C#操作Word的方法是什么
    本篇内容主要讲解“C#操作Word的方法是什么”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“C#操作Word的方法是什么”吧!C#操作Word的内涵:C#操作Office套件的时候都需要用到CO...
    99+
    2023-06-17
  • Git分支操作方法是什么
    这篇文章主要介绍“Git分支操作方法是什么”,在日常操作中,相信很多人在Git分支操作方法是什么问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”Git分支操作方法是什么”的疑惑有所帮助!接下来,请跟着小编一起来...
    99+
    2023-06-27
  • python操作yaml的方法是什么
    今天就跟大家聊聊有关python操作yaml的方法是什么,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。一、参考链接https://pyyaml.org/wiki/PyYAMLDocu...
    99+
    2023-06-22
  • C#操作XML的方法是什么
    本篇内容主要讲解“C#操作XML的方法是什么”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“C#操作XML的方法是什么”吧!C# 操作XML的全过程实例第一步:在项目文件里创建db文件夹,在db文...
    99+
    2023-06-18
  • C#操作MySql的方法是什么
    这篇文章主要讲解了“C#操作MySql的方法是什么”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“C#操作MySql的方法是什么”吧!代码介绍功能包含:创建数据库创建数据表批量添加数据MySq...
    99+
    2023-07-05
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作