原文来自:https://examples.javacodegeeks.com/enterprise-java/apache-hadoop/apache-hadoop-fs-commands-example/
==========本文采用谷歌翻译,请参照中英文学习===========
在本示例中,我们将介绍您可能需要知道的最重要的命令来处理Hadoop文件系统(FS)。
我们假设以前知道Hadoop是什么以及Hadoop可以做什么? 它如何以分布式方式工作,Hadoop分布式文件系统(HDFS)是什么? 这样我们可以继续检查一些如何处理Hadoop文件系统的例子,以及什么是最重要的命令。 以下是两个例子,如果你不清楚Apache Hadoop可以帮助你:
让我们开始,如在这个例子中所说,我们将看到顶部和最常用的Hadoop文件系统(fs)命令,这将有助于管理HDFS集群中的文件和数据。
Hadoop文件系统(FS)默认提供了各种shell命令,可用于与Hadoop分布式文件系统(HDFS)或任何其他使用Hadoop Shell的支持文件系统进行交互。 一些最常用的命令是曾经用于诸如创建目录,复制文件,查看文件内容,更改文件的所有权或权限等操作。
在本节中,我们将看到最常见的Hadoop FS命令的用法和示例。
用法:
hadoop fs -mkdir
hadoop fs -mkdir /user/root/dir1
第二行中的命令用于列出特定路径的内容。 我们将在下一小节中看到此命令。 我们可以在截图中看到dir1被创建
使用单个命令创建多个目录
hadoop fs -mkdir /user/root/dir1 /user/root/dir2
用法:
hadoop fs -ls
hadoop fs -ls /user/root/
命令用于将一个或多个文件从本地系统复制到Hadoop文件系统。
用法:
hadoop fs -put ...
hadoop fs -put Desktop/testfile.txt /user/root/dir1/
将文件从HDFS下载到本地文件系统。
用法:
hadoop fs -get
hadoop fs -get /user/root/dir1/testfile.txt Downloads/
为了查看文件的内容,cat命令在Hadoop文件系统中可用。 它再次类似于unix shell中可用的。
以下是上载到Hadoop文件系统的文件的内容,位于路径/ user / root / dir1 /上面的步骤中。
用法:
hadoop fs -cat
hadoop fs -cat /user/root/dir1/testfile.txt
在Hadoop文件系统中将文件从一个地方复制到另一个地方与unix shell中的cp命令语法相同。
用法:
hadoop fs -cp ...
hadoop fs -cp /user/root/dir1/testfile.txt /user/root/dir2
以下是在Hadoop文件系统中将文件从一个目录移动到另一个目录的语法和示例。
用法:
hadoop fs -mv
hadoop fs -mv /user/root/dir1/testfile.txt /user/root/dir2
从Hadoop文件系统中删除文件或目录与unix shell类似。 它还有两个选项,-rm和-rm -r
用法:
hadoop fs -rm
hadoop fs -rm /user/root/dir2/testfile.txt
在情况下,我们要删除一个包含文件的目录,-rm将无法删除该目录。 在这种情况下,我们可以使用recursive选项从目录中删除所有的文件,当它是空的删除目录。 下面是递归操作的示例:
用法:
hadoop fs -rm -r
hadoop fs -rm -r /user/root/dir2
该命令与unix tail命令完全相似。
用法:
hadoop fs -tail
hadoop fs -tail /user/root/dir1/testfile.txt
为了检查文件中内容的总长度,我们可以使用-du。 命令如下。 如果路径是文件的路径,则显示文件的长度,如果它是目录的路径,则显示的内容的聚合大小显示为包括所有文件和目录。
用法:
hadoop fs -du
hadoop fs -du /user/root/dir1/testfile.txt
此命令用于计算指定路径下的文件和目录数。 如下面的截图所示,输出显示目录数,即2,文件数,即1,总内容大小为159字节,以及这些统计信息所属的路径。
用法:
hadoop fs -count
示例:
hadoop fs -count /user/root/
要获取Hadoop文件系统的所有空间相关详细信息,我们可以使用df命令。 它提供有关当前安装的文件系统使用的空间量和可用空间量的信息
用法:
hadoop fs -df
hadoop fs -df
hadoop fs -df /user/root
这使我们得出了这个例子的结论。 这些Hadoop文件系统命令将帮助您开始处理Hadoop生态系统中的文件和目录。