HDFS API编程常用类和函数总结

Posted hedgehog678

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了HDFS API编程常用类和函数总结相关的知识,希望对你有一定的参考价值。

一、两个重要的类

1. Configuration类

创建一个Configuration对象时,其构造方法会默认加载hadoop中的两个配置文件,分别是hdfs-site.xml以及core-site.xml,这两个文件中会有访问hdfs所需的参数值,指定了hdfs的地址,通过这个地址访问hdfs。

一个应用程序只创建一个Configuration。

2. FileSystem类

该抽象类类提供了丰富的方法用于对文件系统进行操作,比如创建目录、删除文件、重命名等。

二、常用函数

1. 判断路径是否存在

FileSystem.exists(Path path)
path: 路径

2. 向HDFS中上传文件

FileSystem.copyFromLocalFile(Path src, Path dst)
src: 本地文件路径
dst: HDFS文件系统中的目的路径

3. 从HDFS中下载文件

FileSystem.copyToLocalFile(Path src, Path dst)
src: HDFS中文件路径
dst: 本地文件系统中的目的路径

4. 删除HDFS中指定文件

FileSystem.delete(Path path, Boolen recursive)
path: 指定文件的路径
recursive: 是否递归删除,是则为true,否则为false

5. 创建HDFS中的文件

FileSystem.mkdirs(Path path)
path: 文件目录

6. 将文件从源路径移动到目的路径

FileSystem.rename(Path src, Path dst)
src: HDFS中源路径
dst: HDFS中目的路径

7.获取文件信息(大小、权限等)

首先需要创建一个数组存放该目录下所有文件的FileStatus对象。

FileStatus[] fileStatuses = hfs.listStatus(HDFSPath);
//hfs为自己创建的FileSystem对象
·fileStatuses[i].getLen(): 返回的值类型为long,文件大小。
·fileStatuses[i].getOwner(): 返回值类型为String,所有者信息。
·fileStatuses[i].getPath(): 返回值类型为Path,文件路径。
·fileStatuses[i].getPermission(): 返回值类型为FsPermission,文件权限。
·fileStatuses[i].getModificationTime(): 返回值类型为long,修改时间。

判断目录是否为空:

if(fileStatuses.length > 0){
	System.out.println("该目录不为空!");
}else{
	System.out.println("该目录为空");
}

以上是关于HDFS API编程常用类和函数总结的主要内容,如果未能解决你的问题,请参考以下文章

反射API提供的常用类和函数

Java习惯用法总结

C/C++类和对象类中常用的关键字总结

Python | Python常用函数方法示例总结(API)#yyds干货盘点#

python常用代码片段总结

python 面向对象总结