为什么/“共享”;当我们执行'hadoop fs-ls'时,目录没有列出,但当执行'hadoop fs-ls/shared/table_name'时,目录是可见的`

为什么/“共享”;当我们执行'hadoop fs-ls'时,目录没有列出,但当执行'hadoop fs-ls/shared/table_name'时,目录是可见的`,hadoop,hdfs,Hadoop,Hdfs,执行-ls命令时,未列出/shared目录 [cts573151@aster2 ~]$ hadoop fs -ls drwx------ - cts573151 supergroup 0 2016-12-21 05:30 .Trash drwxr-xr-x - cts573151 supergroup 0 2017-02-01 12:28 .sparkStaging drwx------ - cts573151 supergroup

执行
-ls
命令时,未列出
/shared
目录

[cts573151@aster2 ~]$ hadoop fs -ls

drwx------   - cts573151 supergroup          0 2016-12-21 05:30 .Trash
drwxr-xr-x   - cts573151 supergroup          0 2017-02-01 12:28   .sparkStaging
drwx------   - cts573151 supergroup          0 2017-02-02 11:37 .staging
drwxr-xr-x   - cts573151 supergroup          0 2016-12-19 11:40 _sqoop
drwxr-xr-x   - cts573151 supergroup          0 2016-12-12 15:02 externaltables
drwxr-xr-x   - cts573151 supergroup          0 2016-12-20 17:00 inputfiles
drwxr-xr-x   - cts573151 supergroup          0 2016-11-11 10:18 jars
drwxr-xr-x   - cts573151 supergroup          0 2016-12-07 17:05 outputfiles
drwxr-xr-x   - cts573151 supergroup          0 2016-11-29 11:53    pigoutputfiles
drwxr-xr-x   - cts573151 supergroup          0 2017-02-01 14:52 sqlimport
drwxr-xr-x   - cts573151 supergroup          0 2017-02-02 11:36 sqlimport1
drwxr-xr-x   - cts573151 supergroup          0 2016-11-11 14:46 ‘
但是,当我尝试使用特定的
-ls/shared
列出它时,我会得到其中存储的文件:

cts573151@aster2 ~]$ hadoop fs -ls /shared
Found 2 items
drwxr-xr-x   - cts573182 supergroup          0 2017-02-02 09:56 /shared/emp_sal
drwxr-xr-x   - cts550508 supergroup          0 2016-06-06 18:55 /shared/sampletable

为什么目录未列出但可用

这是因为当您在不指定任何路径的情况下执行hadoop fs-ls时,默认路径是
/user/
,并且会列出
/user/
中的目录和文件

由于您提到的文件夹,即“/shared”位于根级别,因此只有在您明确提供hdfs上根目录的路径时,才会列出该文件夹,例如
hadoop fs-ls/

您可以通过执行命令
hadoop fs-ls
hadoop fs-ls/user/cts573151
来检查这一点。它们都应该给你相同的结果


裁判:收到了,谢谢@daemon12