zl程序教程

您现在的位置是:首页 >  后端

当前栏目

Hadoop大数据分布式文件系统hdfs的Java操作

JAVAhadoop数据HDFS 操作 分布式文件系统
2023-09-14 09:02:04 时间
  • 搭建开发环境(eclipse,hdfs的jar包----hadoop的安装目录的share下)
<dependency>
    <groupId>org.apache.hadoop</groupId>
   <artifactId>hadoop-client</artifactId>
    <version>2.4.1</version>
</dependency>

建议在linux下进行客户端应用的开发,不会存在兼容性问题。
如果非要在window上做客户端应用开发,需要设置以下环境:
A、在windows的某个目录下解压一个hadoop的安装包
B、将安装包下的lib和bin目录用对应windows版本平台编译的本地库替换
C、在window系统中配置HADOOP_HOME指向你解压的安装包
D、在windows系统的path变量中加入hadoop的bin目录

  • 在java中操作hdfs,首先要获得一个客户端实例
Configuration conf = new Configuration()
FileSystem fs = FileSystem.get(conf)

而我们的操作目标是HDFS,所以获取到的fs对象应该是DistributedFileSystem的实例;
get方法是从何处判断具体实例化那种客户端类呢?
----从conf中的一个参数 fs.defaultFS的配置值判断;
如果我们的代码中没有指定并且工程classpath下也没有给定相应的配置,conf中的默认值就来自于hadoop的jar包中的core-default.xml,默认值为: file:///

  • fs所具备的方法:

在这里插入图片描述

可以随机定位读取位置:DFSInputStream.seek()