18.4.3 Hadoop Libhdfs API简介
这部分将介绍Libhdfs提供的各种用来管理DFS的API。我们按照管理对象(单个文件、文件系统)对API进行了分类。
1.FileSystem API
Libhdfs不仅提供了通用文件系统管理API,比如创建文件夹、复制文件、移动文件等,还提供了一些特殊功能的API,比如获取备份文件信息等。
在启动时应该在任何文件或文件系统操作之前先用HDFSconnect API将Libhdfs和DFS连接起来。还有一个类似的hdfsdisconnect API负责连接的清除。
通用操作如下:
hdfsCopy(也适用文件系统)
hdfsMove(也适用文件系统)
hdfsRename
hdfsDelete
Libhdfs还提供了在DFS上管理目录的API,如下所示。
hdfsCreateDirectory
hdfsSetWorkingDirectory
hdfsGetWorkingDirectory
hdfsListDirectory/hdfsGetPathInfo/hdfsFreeFileInfo
查询filesystem各种属性的API如下。
hdfsGetHosts
hdfsGetDefaultBlockSize
hdfsGetUsed/hdfsGetCapacity
2.File APIs
Libhdfs提供了一些类似于POSIX(Portable Operating System Interface)的接口来实现单个文件上的操作,比如create、read/write、query等,如下所示。
hdfsOpenFile/hdfsCloseFile
hdfsRead/hdfsWrite
hdfsTell/hdfsSeek
hdfsFlush
hdfsAvailable