热门标签 | HotTags
当前位置:  开发笔记 > 运维 > 正文

JAVA操作HDFS案例的简单实现

本文介绍了JAVA操作HDFS案例的简单实现,分享给大家,也给自己做个笔记 Jar包引入,pom.xml: or

本文介绍了JAVA操作HDFS案例的简单实现,分享给大家,也给自己做个笔记

Jar包引入,pom.xml:

 
 org.apache.hadoop 
 hadoop-common 
 2.8.0 
 
 
 org.apache.hadoop 
 hadoop-hdfs 
 2.8.0 
 

将本地文件上传到hdfs服务器:

/** 
 * 上传文件到hdfs上 
 */ 
@Test 
public void upload() throws IOException { 
  Configuration cOnf= new Configuration(); 
  conf.set("fs.defaultFS","hdfs://hzq:9000"); 
  FileSystem fs = FileSystem.get(conf); 
  fs.copyFromLocalFile(new Path("/home/hzq/jdk1.8.tar.gz"),new Path("/demo")); 
} 

解析:

在开发中我没有引入“core-site.xml”配置文件,所以在本地调用时使用conf进行配置“conf.set("fs.defaultFS","hdfs://hzq:9000");“,下面雷同。

将hdfs上文件下载到本地:

/** 
 * 将hdfs上文件下载到本地 
 */ 
@Test 
public void download() throws IOException { 
  Configuration cOnf= new Configuration(); 
  conf.set("fs.defaultFS","hdfs://hzq:9000"); 
  FileSystem fs = FileSystem.newInstance(conf); 
  fs.copyToLocalFile(new Path("/java/jdk1.8.tar.gz"),new Path("/home/hzq/")); 
} 

删除hdfs上指定文件:

/** 
 * 删除hdfs上的文件 
 * @throws IOException 
 */ 
@Test 
public void removeFile() throws IOException { 
  Configuration cOnf= new Configuration(); 
  conf.set("fs.defaultFS","hdfs://hzq:9000"); 
  FileSystem fs = FileSystem.newInstance(conf); 
  fs.delete(new Path("/demo/jdk1.8.tar.gz"),true); 
} 

在hdfs上创建文件夹:

/** 
 * 在hdfs更目录下面创建test1文件夹 
 * @throws IOException 
 */ 
@Test 
public void mkdir() throws IOException { 
  Configuration cOnf= new Configuration(); 
  conf.set("fs.defaultFS","hdfs://hzq:9000"); 
  FileSystem fs = FileSystem.newInstance(conf); 
  fs.mkdirs(new Path("/test1")); 
} 

列出hdfs上所有的文件或文件夹:

@Test 
  public void listFiles() throws IOException { 
    Configuration cOnf= new Configuration(); 
    conf.set("fs.defaultFS","hdfs://hzq:9000"); 
    FileSystem fs = FileSystem.newInstance(conf); 
    // true 表示递归查找 false 不进行递归查找 
    RemoteIterator iterator = fs.listFiles(new Path("/"), true); 
    while (iterator.hasNext()){ 
      LocatedFileStatus next = iterator.next(); 
      System.out.println(next.getPath()); 
    } 
    System.out.println("----------------------------------------------------------"); 
    FileStatus[] fileStatuses = fs.listStatus(new Path("/")); 
    for (int i = 0; i 

运行结果:

                                    

结果分析:

“listFiles“列出的是hdfs上所有文件的路径,不包括文件夹。根据你的设置,支持递归查找。

  ”listStatus“列出的是所有的文件和文件夹,不支持递归查找。如许递归,需要自己实现。

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。


推荐阅读
  • 本文详细分析了Hive在启动过程中遇到的权限拒绝错误,并提供了多种解决方案,包括调整文件权限、用户组设置以及环境变量配置等。 ... [详细]
  • 深入解析BookKeeper的设计与应用场景
    本文介绍了由Yahoo在2009年开发并于2011年开源的BookKeeper技术。BookKeeper是一种高效且可靠的日志流存储解决方案,广泛应用于需要高性能和强数据持久性的场景。 ... [详细]
  • Docker的安全基准
    nsitionalENhttp:www.w3.orgTRxhtml1DTDxhtml1-transitional.dtd ... [详细]
  • 本文探讨了Hive中内部表和外部表的区别及其在HDFS上的路径映射,详细解释了两者的创建、加载及删除操作,并提供了查看表详细信息的方法。通过对比这两种表类型,帮助读者理解如何更好地管理和保护数据。 ... [详细]
  • HBase运维工具全解析
    本文深入探讨了HBase常用的运维工具,详细介绍了每种工具的功能、使用场景及操作示例。对于HBase的开发人员和运维工程师来说,这些工具是日常管理和故障排查的重要手段。 ... [详细]
  • 本文详细介绍了 Flink 和 YARN 的交互机制。YARN 是 Hadoop 生态系统中的资源管理组件,类似于 Spark on YARN 的配置方式。我们将基于官方文档,深入探讨如何在 YARN 上部署和运行 Flink 任务。 ... [详细]
  • 本文详细介绍如何利用已搭建的LAMP(Linux、Apache、MySQL、PHP)环境,快速创建一个基于WordPress的内容管理系统(CMS)。WordPress是一款流行的开源博客平台,适用于个人或小型团队使用。 ... [详细]
  • 本文详细介绍了 Java 中的 org.apache.hadoop.registry.client.impl.zk.ZKPathDumper 类,提供了丰富的代码示例和使用指南。通过这些示例,读者可以更好地理解如何在实际项目中利用 ZKPathDumper 类进行注册表树的转储操作。 ... [详细]
  • Hadoop发行版本选择指南:技术解析与应用实践
    本文详细介绍了Hadoop的不同发行版本及其特点,帮助读者根据实际需求选择最合适的Hadoop版本。内容涵盖Apache Hadoop、Cloudera CDH等主流版本的特性及应用场景。 ... [详细]
  • 简化报表生成:EasyReport工具的全面解析
    本文详细介绍了EasyReport,一个易于使用的开源Web报表工具。该工具支持Hadoop、HBase及多种关系型数据库,能够将SQL查询结果转换为HTML表格,并提供Excel导出、图表显示和表头冻结等功能。 ... [详细]
  • 本文详细介绍如何使用 Apache Spark 执行基本任务,包括启动 Spark Shell、运行示例程序以及编写简单的 WordCount 程序。同时提供了参数配置的注意事项和优化建议。 ... [详细]
  • 深入解析Hadoop的核心组件与工作原理
    本文详细介绍了Hadoop的三大核心组件:分布式文件系统HDFS、资源管理器YARN和分布式计算框架MapReduce。通过分析这些组件的工作机制,帮助读者更好地理解Hadoop的架构及其在大数据处理中的应用。 ... [详细]
  • MapReduce原理是怎么剖析的
    这期内容当中小编将会给大家带来有关MapReduce原理是怎么剖析的,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。1 ... [详细]
  • 深入解析Spark核心架构与部署策略
    本文详细探讨了Spark的核心架构,包括其运行机制、任务调度和内存管理等方面,以及四种主要的部署模式:Standalone、Apache Mesos、Hadoop YARN和Kubernetes。通过本文,读者可以深入了解Spark的工作原理及其在不同环境下的部署方式。 ... [详细]
  • 优化使用Apache + Memcached-Session-Manager + Tomcat集群方案
    本文探讨了使用Apache、Memcached-Session-Manager和Tomcat集群构建高性能Web应用过程中遇到的问题及解决方案。通过重新设计物理架构,解决了单虚拟机环境无法真实模拟分布式环境的问题,并详细记录了性能测试结果。 ... [详细]
author-avatar
mobiledu2502858945
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有