“hdfs dfs -ls”和“hdfs dfs -ls /”之间的区别

Posted

技术标签:

【中文标题】“hdfs dfs -ls”和“hdfs dfs -ls /”之间的区别【英文标题】:Difference between 'hdfs dfs -ls' and 'hdfs dfs -ls /' 【发布时间】:2016-06-13 12:06:07 【问题描述】:

为什么hdfs dfs -ls 指向的位置与hdfs dfs -ls / 不同?

从下面两个命令的屏幕截图可以清楚地看到给出不同的输出:

以上输出的主要原因是什么?

【问题讨论】:

我猜它指向某种主文件夹? 【参考方案1】:

来自官方源代码org.apache.hadoop.fs.shell.Ls.java。只需搜索DESCRIPTION 字。它将列出以下语句:-

public static final String DESCRIPTION =
 "List the contents that match the specified file pattern. If " +
 "path is not specified, the contents of /user/<currentUser> " +
 "will be listed. For a directory a list of its direct children " +
 "is returned (unless -" + OPTION_DIRECTORY +
 " option is specified)" 

hadoop fs -ls 将列出当前用户的主目录内容。

hadoop fs -ls / 将列出根目录的直接子目录。

【讨论】:

【参考方案2】:

-ls 在 Hadoop 中的默认位置是用户的主目录,在本例中为 /user/root

添加/ 使-ls 命令指向文件系统的根目录。

【讨论】:

【参考方案3】:

/ 查找 Hdfs 的根文件夹

【讨论】:

以上是关于“hdfs dfs -ls”和“hdfs dfs -ls /”之间的区别的主要内容,如果未能解决你的问题,请参考以下文章

Hadoop - `hdfs dfs -ls`与ls

hadoop 使用 kerberos 认证后,hadoop fs -ls 命令hdfs dfs -ls 无法使用

HDFS dfs -ls 路径/文件名

hadoop 错误:util.NativeCodeLoader(hdfs dfs -ls 不起作用!)

何时使用hadoop fs,hadoop dfs与hdfs dfs命令

何时使用hadoop fs,hadoop dfs与hdfs dfs命令