学科分类
目录
Hadoop技术栈

HDFS Java API介绍

Hadoop整合了众多文件系统,HDFS只是这个文件系统的一个实例。HDFS Java API主要包如下所示:

  • org.apache.hadoop.fs.FileSystem:它是通用文件系统的抽象基类,可以被分布式文件系统继承,它具有许多实现类,例如:LocalFileSystem、DistributedFileSystem、FtpFileSystem等。

  • org.apache.hadoop.fs.FileStatus:它用于向客户端展示系统中文件和目录的元数据,具体包含文件大小、块大小、副本信息、修改时间等。

  • org.apache.hadoop.fs.FSDataInputStream:文件输入流,用于读取Hadoop文件。

  • org.apache.hadoop.fs.FSDataOutputStream:文件输出流,用于写Hadoop文件。

  • org.apache.hadoop.conf.Configuration:访问配置项,默认配置参数在core-site.xml中,用户可以添加相应的配置参数。

  • org.apache.hadoop.fs.Path:用于表示Hadoop文件系统中的一个文件或者一个目录的路径。

    在Java中操作HDFS,首先需要创建一个客户端实例,主要涉及以下类:

  • Configuration:该类的对象封装了客户端或者服务器的配置,每个配置选项是一个键值对,通常情况下,Configuration实例会自动加载HDFS的配置文件core-site.xml,从中获取Hadoop集群的配置信息。

  • FileSystem:该类的对象是一个文件系统对象,通过该对象的一些方法可以对文件进行操作,常用方法如表1示;

表1 FileSystem常用方法

方法名称 方法描述
copyFromLocalFile(Path src,Path dst) 从本地磁盘复制文件到HDFS
copyToLocalFile(Path src,Path dst) 从HDFS复制文件到本地磁盘
mkdirs(Path f) 建立子目录
rename(Path src,Path dst) 重命名文件或文件夹
delete(Path f) 删除指定文件

小提示:

Hadoop API非常庞大,读者可以通过Hadoop官方文档自行查阅学习,地址如下:http://hadoop.apache.org/docs/stable/api/index.html

点击此处
隐藏目录