一、回顾常用的命令
在上篇文章中整理了 HDFS 常用的命令,这里进行简单的回顾。
ls 命令用来查看 HDFS 系统中的目录和文件,命令如下:
$ hadoop fs -ls /
put 命令用来将本地文件上传到 HDFS 系统中,命令如下:
$ hadoop fs -put test.txt /
moveFromLocal 命令将本地文件移动到 HDFS 文件系统中,并将本地的文件进行删除,命令如下:
$ hadoop fs -moveFromLocal abc.txt /
get 命令用来将 HDFS 文件系统中的文件下载到本地,命令如下:
$ hadoop fs -get /abc.txt /home/hadoop/
rm 命令用来删除 HDFS 系统中的文件或文件夹,命令如下
$ hadoop fs -rm /test.txt
mkdir 命令用来在 HDFS 系统中创建目录,命令如下:
$ hadoop fs -mkdir /test
cp 命令在 HDFS 系统中用于文件的复制,命令如下:
$ hadoop fs -ls /
mv 命令在 HDFS 系统中用于完成文件移动的功能,也可以用来进行文件的重命名功能,命令如下:
$ hadoop fs -mv /abc/abc.txt /test/
$ hadoop fs -mv /test/abc.txt /test/abcabc.txt
cat 命令在 HDFS 文件系统中用于输出某个文件的内容,命令如下:
$ hadoop fs -cat /test/abcabc.txt
appendToFile 命令将单个或多个文件的内容从本地系统中追加到 HDFS 系统的文件中,命令如下:
$ hadoop fs -appendToFile abc.txt /abc.txt
上面的内容简单的对 HDFS 文件系统的常用命令进行了回顾,接下来,我们来整理一下关于 HDFS 常用的 Java API。
二、引入依赖
使用 HDFS 的 Java API 可以操作 HDFS 文件系统中的文件,比如文件的新建、删除、读取等。创建一个 Maven 的项目,然后引入其依赖,准备工作就算是完成了,依赖如下:
<dependency>
<groupId>org.apache.hadoop</groupId>
<artifactId>hadoop-client</artifactId>
<version>2.8.2</version>
</dependency>
引入该依赖后,在 HDFS 的 Java API 中使用 FileSystem 工具类,它可以完成我们的操作,下面我们来进行了解。
三、文件列表
代码非常的简单,因此这里直接上代码,代码如下:
public static void main(String[] args) throws IOException {
Configuration conf = new Configuration();
// 设置 HDFS 访问地址
conf.set("fs.default.name", "hdfs://centos01:9000");
// 取得 FileSystem 文件系统实例
FileSystem fs = FileSystem.get(conf);
List<String> filesUnderFo