Hadoop系统应用之HDFS相关操作 - - Java-API对HDFS的操作(IDEA版)

这篇具有很好参考价值的文章主要介绍了Hadoop系统应用之HDFS相关操作 - - Java-API对HDFS的操作(IDEA版)。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

一、实验目标

通过Java API来操作HDFS文件系统HDFS,相关的操作有:文件上传、文件下载、新建文件夹、查看文件、删除文件。

二、条件准备

1.Linux下安装好hadoop,这里使用hadoop2.7.3

2.window解压hadoop2.7.3的包Hadoop系统应用之HDFS相关操作 - - Java-API对HDFS的操作(IDEA版),hadoop,java,hdfs

2.Windows下安装好jdk1.8

 3.Windows下安装好IDEA,这里使用IDEA2022

4.Windows下安装好maven,这里使用Maven3.6.3

5.在win系统下不配置hadoop环境,直接运行代码会报错,显示缺少winutils.exe 和 hadoop.dll 两个文件.    (文件位于个人主页&(13条消息) Hadoop系统应用之java-API对HDFS的操作实验缺少的两个文件-桌面系统文档类资源-CSDN文库)

6.将hadoop-2.7.3文件夹拷贝到一个没有中文的路径中;

7.把winutils.exe 和 hadoop.dll 两个文件放到hadoop-2.7.3文件夹中bin目录下

8.在windows系统,配置hadoop的环境变量: HADOOP_HOME,并将%HADOOP_HOME%\bin添加到path中.

9.把hadoop-2.7.3文件夹中bin目录下的hadoop.dll 放到系统盘: C:Windows \System32目录下

三、用idea创建对应的Java项目

1.新建一个Maven工程 

Hadoop系统应用之HDFS相关操作 - - Java-API对HDFS的操作(IDEA版),hadoop,java,hdfs

Hadoop系统应用之HDFS相关操作 - - Java-API对HDFS的操作(IDEA版),hadoop,java,hdfs

2.在pom.xml添加相关依赖(ctr+s保存后,会下载对应的依赖)Hadoop系统应用之HDFS相关操作 - - Java-API对HDFS的操作(IDEA版),hadoop,java,hdfs

 代码如下

  <dependencies>
        <!-- Hadoop所需依赖包 -->
        <dependency>
            <groupId>org.apache.hadoop</groupId>
            <artifactId>hadoop-common</artifactId>
            <version>2.7.3</version>
        </dependency>


        <dependency>
            <groupId>org.apache.hadoop</groupId>
            <artifactId>hadoop-hdfs</artifactId>
            <version>2.7.3</version>
        </dependency>


        <dependency>
            <groupId>org.apache.hadoop</groupId>
            <artifactId>hadoop-client</artifactId>
            <version>2.7.3</version>
        </dependency>

        <!-- junit测试依赖 -->
        <dependency>
            <groupId>junit</groupId>
            <artifactId>junit</artifactId>
            <version>RELEASE</version>
        </dependency>
    </dependencies>

</project>

 3.右下角下载依赖

Hadoop系统应用之HDFS相关操作 - - Java-API对HDFS的操作(IDEA版),hadoop,java,hdfs

 4.查看依赖和外部库

Hadoop系统应用之HDFS相关操作 - - Java-API对HDFS的操作(IDEA版),hadoop,java,hdfs

 Hadoop系统应用之HDFS相关操作 - - Java-API对HDFS的操作(IDEA版),hadoop,java,hdfs

 四、初始化

1.创建一个java类,添加对应代码

public class JavaAPI {
    FileSystem hdfs = null;

    public JavaAPI() {
    }

    @Before
    public void init() throws IOException {
        Configuration conf = new Configuration();
        conf.set("fs.defaultFS", "hdfs://yangjian00:9000");
        System.setProperty("HADOOP_USER_NAME", "root");
        this.hdfs = FileSystem.get(conf);
    }

    @After
    public void close() throws IOException {
        this.hdfs.close();
    }
}

 ps:上面代码中的参数"hdfs://yangjian00:9000"是hadoop配置文件中core-site.xml的配置信息,

五、HDFS代码操作

1.上传文件到HDFS文件系统

(1)我在D盘的HDFS文件夹下面创建了个test.txt文本

Hadoop系统应用之HDFS相关操作 - - Java-API对HDFS的操作(IDEA版),hadoop,java,hdfs

(2)写入代码

    /*
    上传测试
     */
    @Test
    public void testUploadFileToHDFS() throws IOException {
        // 待上传的文件路径(windows)
        Path src = new Path("D:\\Hadoop\\HDFS");
        // 上传之后存放的路径(HDFS)
        Path dst = new Path("/TEXT");
        // 上传
        hdfs.copyFromLocalFile(src,dst);
        System.out.println("上传成功");
    }

Hadoop系统应用之HDFS相关操作 - - Java-API对HDFS的操作(IDEA版),hadoop,java,hdfs

(3)在centos的Hadoop中查看test.txt文件(上传成功)

Hadoop系统应用之HDFS相关操作 - - Java-API对HDFS的操作(IDEA版),hadoop,java,hdfs

 2.从HDFS下载文件到本地

(1)写入下载代码

  /*
    下载测试
     */
    @Test
    public void testDownFileToLocal() throws IOException {
        // 待下载的路径(HDFS)
        Path src = new Path("/TEXT.txt");
        // 下载成功之后存放的路径(windows)
        Path dst = new Path("D:\\Hadoop\\HDFS\\TEXT1");
        // 下载
        hdfs.copyToLocalFile(false,src,dst,true);
        System.out.println("下载成功");

Hadoop系统应用之HDFS相关操作 - - Java-API对HDFS的操作(IDEA版),hadoop,java,hdfs

(2)从浏览器中下载查看

Hadoop系统应用之HDFS相关操作 - - Java-API对HDFS的操作(IDEA版),hadoop,java,hdfs

 3.在HDFS中创建目录

(1)写入代码

/*
创建目录测试
 */
    @Test
    public void testMkdirFile() throws IOException {
        // 待创建目录路径
        Path src = new Path("/YYDS");
        // 创建目录
        hdfs.mkdirs(src);
        System.out.println("创建成功");
    }

Hadoop系统应用之HDFS相关操作 - - Java-API对HDFS的操作(IDEA版),hadoop,java,hdfs

 (2)从浏览器中下载查看

Hadoop系统应用之HDFS相关操作 - - Java-API对HDFS的操作(IDEA版),hadoop,java,hdfs

4.从新命名测试

(1)写入代码

/*
重命名测试
 */
    @Test
    public void testRenameFile() throws IOException {
        // 重命名之前的名字
        Path src = new Path("/YYDS");
        // 重命名之后的名字
        Path dst = new Path("/HDFS2");
        // 重命名
        hdfs.rename(src,dst);
        System.out.println("重命名成功");
    }

Hadoop系统应用之HDFS相关操作 - - Java-API对HDFS的操作(IDEA版),hadoop,java,hdfs

 (2)从浏览器中下载查看

Hadoop系统应用之HDFS相关操作 - - Java-API对HDFS的操作(IDEA版),hadoop,java,hdfs

5.删除测试

       /*
删除测试
 */
       @Test
       public void testRM() throws  IOException {
           hdfs.delete(new Path("/HDFS"),true);
           hdfs.delete(new Path("/HDFS1"), true);
           hdfs.delete(new Path("/tmp"), true);
       }

Hadoop系统应用之HDFS相关操作 - - Java-API对HDFS的操作(IDEA版),hadoop,java,hdfs

 

  文章来源地址https://www.toymoban.com/news/detail-754963.html

到了这里,关于Hadoop系统应用之HDFS相关操作 - - Java-API对HDFS的操作(IDEA版)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Hadoop 使用Linux操作系统与Java熟悉常用的HDFS操作

    注意看评论区获取完整代码资料 目录 一、实验目的 二、实验平台 三、实验步骤 理解HDFS在Hadoop体系结构中的角色; 熟练使用HDFS操作常用的Shell命令; 熟悉HDFS操作常用的Java API。 操作系统:Linux(建议Ubuntu16.04); Hadoop版本:2.7.1; JDK版本:1.8或以上版本; Java IDE:Eclipse。

    2024年02月03日
    浏览(42)
  • 【Hadoop】HDFS API 操作大全

    🦄 个人主页——🎐开着拖拉机回家_Linux,大数据运维-CSDN博客 🎐✨🍁 🪁🍁 希望本文能够给您带来一定的帮助🌸文章粗浅,敬请批评指正!🍁🐥 🪁🍁🪁🍁🪁🍁🪁🍁 🪁🍁🪁🍁🪁🍁🪁 🪁🍁🪁🍁🪁🍁🪁🍁🪁🍁🪁🍁 🍁🪁🍁 🪁🍁🪁🍁 感谢点赞和关注 ,

    2024年02月07日
    浏览(31)
  • Hadoop HDFS的API操作

    hadoop的 Windows依赖文件夹,拷贝hadoop-3.1.0到非中文路径(比如d:)。 配置HADOOP_HOME环境变量 配置Path环境变量。 不能放在包含有空格的目录下,cmd 输入hadoop显示此时不应有 hadoop-3.0.0bin。我放在E:Program Files (x86) hadoop-3.0.0bin中,就出现错误 验证Hadoop环境变量是否正常。双击

    2024年02月05日
    浏览(33)
  • HDFS相关API操作

    HDFS API官方文档:https://hadoop.apache.org/docs/r3.3.1/api/index.html 将Hadoop的Jar包解压到非中文路径(例如D:hadoophadoop-2.7.2) 配置HADOOP_HOME环境变量 配置Path环境变量 准备工作 创建一个[Maven]工程HdfsClientDemo 引入hadoop-client依赖 创建HdfsClient 类 创建文件夹 上面这样写代码有点冗余,我们

    2024年02月02日
    浏览(59)
  • 从零开始的Hadoop学习(五)| HDFS概述、shell操作、API操作

    1.1 HDFS 产出背景及定义 1) HDFS 产生背景 随着数据量越来越大,在一个操作系统存不下所有的数据,那么就分配到更多的操作系统管理的磁盘中,但是不方便管理和维护,迫切 需要一种系统来管理多台机器上的文件 ,这就是分布式文件管理系统。 HDFS只是分布式文件管理系统

    2024年02月10日
    浏览(31)
  • Windwos安装Hadoop 并在IDEA中利用Maven实现HDFS API操作

    本次hadoop的安装系统为Windows10、Hadoop版本为3.3.6、Maven版本为3.9.4、Java版本为17.0.2。本教程基于前篇教程Hadoop集群、Java安装均完成后的后续教程,如未完成安装请查看前置教程。Hadoop、java安装 ############################################################################################# 此外,大数

    2024年01月18日
    浏览(29)
  • hadoop调用HDFS java api实现在HDFS上创建文件夹

    目录 一、前期准备 1、Hadoop集群已配置完毕 2、Linux系统安装jdk 3、安装并破解IntelliJ IDEA 二、通过JAVA API操纵HDFS 1.在IDEA中创建项目  2.在hdfs项目的src-main-java路径下创建一个包,然后在包下创建一个java类实现hdfs的文件操作  3.java类的代码 4.对JAVA程序传入参数后运行程序  5

    2024年02月08日
    浏览(50)
  • Hadoop系统应用之MapReduce相关操作【IDEA版】---经典案例“倒排索引、数据去重、TopN”

      倒排索引是文档检索系统中最常用的数据结构,被广泛应用于全文搜索引擎。倒排索引主要用来存储某个单词(或词组)在一组文档中的存储位置的映射,提供了可以根据内容来查找文档的方式,而不是根据文档来确定内容,因此称为倒排索引(Inverted Index)。带有倒排索引

    2024年02月07日
    浏览(37)
  • Java Api操作HDFS

    链接:https://pan.baidu.com/s/1yUnJh-j9EKmL2hPF8biAtg?pwd=dv12 提取码:dv12 之前配置的 Hadoop 的 core-site.xml 文件中的配置的 fs.defaultFS 地址是 hdfs://localhost:9000 ,然后后面 Java 连不上 hdfs 9000 端口也是打开了,但就是连不上 9870 端口也能正常访问 防火墙也关闭了,也不行 查阅诸多资料发现问

    2024年04月28日
    浏览(32)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包