iis服务器助手广告广告
返回顶部
首页 > 资讯 > 精选 >HDFS中JAVA API的使用
  • 337
分享到

HDFS中JAVA API的使用

javahdfsava 2023-05-31 11:05:07 337人浏览 薄情痞子
摘要

hdfs是一个分布式文件系统,既然是文件系统,就可以对其文件进行操作,比如说新建文件、删除文件、读取文件内容等操作。下面记录一下使用JAVA api对HDFS中的文件进行操作的过程。对分HDFS中的文件操作主要涉及一下几个类:Configu

hdfs是一个分布式文件系统,既然是文件系统,就可以对其文件进行操作,比如说新建文件、删除文件、读取文件内容等操作。下面记录一下使用JAVA api对HDFS中的文件进行操作的过程。

对分HDFS中的文件操作主要涉及一下几个类:

Configuration类:该类的对象封转了客户端或者服务器的配置。

FileSystem类:该类的对象是一个文件系统对象,可以用该对象的一些方法来对文件进行操作。FileSystem fs = FileSystem.get(conf);通过FileSystem的静态方法get获得该对象。

FSDatainputStream和FSDataOutputStream:这两个类是HDFS中的输入输出流。分别通过FileSystem的open方法和create方法获得。

具体如何对文件操作清下下面例子:

package com.hdfs;import java.io.FileInputStream;import java.io.IOException;import java.io.InputStream;import org.apache.hadoop.conf.Configuration;import org.apache.hadoop.fs.FSDataOutputStream;import org.apache.hadoop.fs.FileStatus;import org.apache.hadoop.fs.FileSystem;import org.apache.hadoop.fs.Path;import org.apache.hadoop.io.IOUtils;public class HdfsTest {    //创建新文件  public static void createFile(String dst , byte[] contents) throws IOException{    Configuration conf = new Configuration();    FileSystem fs = FileSystem.get(conf);    Path dstPath = new Path(dst); //目标路径    //打开一个输出流    FSDataOutputStream outputStream = fs.create(dstPath);    outputStream.write(contents);    outputStream.close();    fs.close();    System.out.println("文件创建成功!");  }    //上传本地文件  public static void uploadFile(String src,String dst) throws IOException{    Configuration conf = new Configuration();    FileSystem fs = FileSystem.get(conf);    Path srcPath = new Path(src); //原路径    Path dstPath = new Path(dst); //目标路径    //调用文件系统的文件复制函数,前面参数是指是否删除原文件,true为删除,默认为false    fs.copyFromLocalFile(false,srcPath, dstPath);        //打印文件路径    System.out.println("Upload to "+conf.get("fs.default.name"));    System.out.println("------------list files------------"+"\n");    FileStatus [] fileStatus = fs.listStatus(dstPath);    for (FileStatus file : fileStatus)     {      System.out.println(file.getPath());    }    fs.close();  }    //文件重命名  public static void rename(String oldName,String newName) throws IOException{    Configuration conf = new Configuration();    FileSystem fs = FileSystem.get(conf);    Path oldPath = new Path(oldName);    Path newPath = new Path(newName);    boolean isok = fs.rename(oldPath, newPath);    if(isok){      System.out.println("rename ok!");    }else{      System.out.println("rename failure");    }    fs.close();  }  //删除文件  public static void delete(String filePath) throws IOException{    Configuration conf = new Configuration();    FileSystem fs = FileSystem.get(conf);    Path path = new Path(filePath);    boolean isok = fs.deleteOnExit(path);    if(isok){      System.out.println("delete ok!");    }else{      System.out.println("delete failure");    }    fs.close();  }    //创建目录  public static void mkdir(String path) throws IOException{    Configuration conf = new Configuration();    FileSystem fs = FileSystem.get(conf);    Path srcPath = new Path(path);    boolean isok = fs.mkdirs(srcPath);    if(isok){      System.out.println("create dir ok!");    }else{      System.out.println("create dir failure");    }    fs.close();  }    //读取文件的内容  public static void readFile(String filePath) throws IOException{    Configuration conf = new Configuration();    FileSystem fs = FileSystem.get(conf);    Path srcPath = new Path(filePath);    InputStream in = null;    try {      in = fs.open(srcPath);      IOUtils.copyBytes(in, System.out, 4096, false); //复制到标准输出流    } finally {      IOUtils.closeStream(in);    }  }      public static void main(String[] args) throws IOException {    //测试上传文件    //uploadFile("D:\\c.txt", "/user/hadoop/test/");    //测试创建文件        //测试重命名    //rename("/user/hadoop/test/d.txt", "/user/hadoop/test/dd.txt");    //测试删除文件    //delete("test/dd.txt"); //使用相对路径    //delete("test1");  //删除目录    //测试新建目录    //mkdir("test1");    //测试读取文件    readFile("test1/d.txt");  }}

--结束END--

本文标题: HDFS中JAVA API的使用

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

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

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

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

下载Word文档
猜你喜欢
  • HDFS中JAVA API的使用
    HDFS是一个分布式文件系统,既然是文件系统,就可以对其文件进行操作,比如说新建文件、删除文件、读取文件内容等操作。下面记录一下使用JAVA API对HDFS中的文件进行操作的过程。对分HDFS中的文件操作主要涉及一下几个类:Configu...
    99+
    2023-05-31
    java hdfs ava
  • Java API操作Hdfs的示例详解
    目录1.遍历当前目录下所有文件与文件夹2.遍历所有文件3.创建文件夹4.删除文件夹5.上传文件6.下载文件1.遍历当前目录下所有文件与文件夹 可以使用listStatus方法实现上述...
    99+
    2024-04-02
  • Java API操作HDFS方法是什么
    这篇“Java API操作HDFS方法是什么”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“Java AP...
    99+
    2023-07-05
  • Java中的API怎么使用
    这篇“Java中的API怎么使用”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“Java中的API怎么使用”文章吧。1.API...
    99+
    2023-06-29
  • Java中API的使用方法详情
    目录1.API1.1API概述1.2API帮助文档的具体使用2.String类2.1String类概述2.2String类的特点2.3String类的构造方法2.4创建字符串对象两种...
    99+
    2024-04-02
  • 如何在Java中使用NPM API?
    在Java中使用NPM API可以让开发人员更加便捷地管理和使用NPM包,而不需要离开Java开发环境。本文将介绍如何在Java中使用NPM API,并附带演示代码。 一、NPM API简介 NPM API是一个基于RESTful的API,...
    99+
    2023-09-26
    api npm 关键字
  • Java使用ChatGPT的API详解
    目录介绍验证发出请求创建聊天PostMan实例介绍 OpenAI API 几乎可以应用于任何涉及理解或生成自然语言或代码的任务。我们提供一系列具有不同功率级别的模型,适用于不同的任务...
    99+
    2023-05-18
    Java使用ChatGPT的API Java ChatGPT的API
  • Java项目中API的使用技巧有哪些
    Java项目中API的使用技巧有哪些?针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。1. 不要自己去实现安全框架说真的,不要尝试自己去实现安全方面的代码,这太难了。几乎每个人...
    99+
    2023-05-31
    java api ava
  • 使用python监控HDFS文件的增量
    要监控HDFS文件的增量,可以使用Hadoop的Java API或Python的hdfs模块来实现。以下是一个使用Python的hd...
    99+
    2023-10-11
    python
  • 如何在 IDE 中快速学习 Java API 的使用?
    Java API 是 Java 应用程序开发中必不可少的一部分,它提供了丰富的类库和函数,为开发者提供了便捷的工具来完成复杂的任务。尽管 Java API 中的函数和类库数量众多,但是学习 Java API 的使用却可以变得非常简单。在本文...
    99+
    2023-06-22
    api 教程 ide
  • 如何在 Java 中使用索引函数 API?
    索引函数 API 是 Java 编程语言中的一个重要组成部分,它提供了一些非常有用的方法和函数,帮助我们在 Java 应用程序中有效地处理索引和数据。在本文中,我们将介绍如何在 Java 中使用索引函数 API,以及如何使用它来处理索引和...
    99+
    2023-09-02
    索引 函数 api
  • Java高版本Api在Android中如何使用
    这篇文章主要介绍“Java高版本Api在Android中如何使用”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“Java高版本Api在Android中如何使用”文章能帮助大家解决问题。Android插...
    99+
    2023-06-30
  • Java API中如何使用Spring响应机制?
    在Java开发中,Spring框架是非常流行的一个框架。它提供了很多有用的功能,其中之一就是响应机制。Spring的响应机制可以让我们很方便地处理HTTP请求,并返回相应的结果。在本文中,我们将介绍如何使用Spring的响应机制。 一、什...
    99+
    2023-09-21
    api spring 响应
  • 实验3 - HDFS的管理和使用
    HDFS 的使用和管理 实验环境 Linux Ubuntu 16.04 实验内容 前提条件: 1)Hadoop 3.0.0 的单点部署完成 2)Java 运行环境部署完成 上述前提条件,我们已经为你准...
    99+
    2023-10-23
    hdfs hadoop 大数据
  • HDFS中DataNode有什么作用
    这篇文章主要介绍了HDFS中DataNode有什么作用,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。三个进程1)NameNode (NN): 名称节点  --》cl...
    99+
    2023-06-02
  • JAVA API 中的包(转)
    在下抛砖引玉,写一篇关于java API中的包名与它所包含的内容的文章,希望对初学者,和高手参考使用,由于水平有限,请大家如果再知道其他包,请继续填加……   包名                 内容java.applet Applet小...
    99+
    2023-06-03
  • Java中有哪些好用的二维码API可以使用?
    二维码是现代社会中非常常见的一种信息传递方式,它可以将大量的信息编码成一张小小的图案,方便传递和识别。在Java中,我们可以使用多种二维码API来生成和解析二维码,下面就让我们来了解一下。 ZXing ZXing是Google开源的一...
    99+
    2023-06-29
    二维码 api numpy
  • hadoop中的hdfs有什么作用
    HDFS(Hadoop Distributed File System)是Hadoop中的分布式文件系统,其主要作用是存储和管理大规...
    99+
    2024-03-13
    hadoop
  • 怎么在HDFS中组织和使用数据
    这篇文章主要为大家展示了“怎么在HDFS中组织和使用数据”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“怎么在HDFS中组织和使用数据”这篇文章吧。4.1 组织数据组织数据是使用Hadoop最具挑...
    99+
    2023-06-02
  • Java高版本Api在Android中的使用方法详解
    目录Android插件开启对新Api的支持常用的需要兼容处理的类:1. LocalDate日期处理2. Stream集合流操作AGP7编译的问题总结Android插件开启对新Api的...
    99+
    2024-04-02
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作