如何检查hdfs中是否存在目录

m4pnthwp  于 2021-06-02  发布在  Hadoop
关注(0)|答案(2)|浏览(487)

为了检查目录是否存在,我使用了下面的命令

hdfs dfs -test -d /HDFS/Sample

这里的示例是hdfs中的一个目录。
命令说,如果路径是目录,它将返回0,当我在提示符下执行此命令时,我无法在命令提示符下得到0。

ryhaxcpt

ryhaxcpt1#

[oracle@bigdatalite tmp]$ hdfs dfs -ls 
Found 12 items
drwx------   - oracle oracle          0 2018-01-09 15:06 .Trash
drwxr-xr-x   - oracle oracle          0 2018-01-09 16:06 .sparkStaging
drwx------   - oracle oracle          0 2017-11-20 14:44 .staging
drwxr-xr-x   - oracle oracle          0 2017-01-15 17:19 indexMetadata
drwxr-xr-x   - oracle oracle          0 2017-01-15 17:19 jobRegistry
drwxr-xr-x   - oracle oracle          0 2018-10-02 11:04 kevin_learning
drwxr-xr-x   - oracle oracle          0 2017-01-15 17:19 mediademo
drwxr-xr-x   - oracle oracle          0 2017-01-15 17:19 moviedemo
drwxr-xr-x   - oracle oracle          0 2017-01-15 17:19 moviework
drwxr-xr-x   - oracle oracle          0 2017-01-15 17:19 oggdemo
drwxr-xr-x   - oracle oracle          0 2017-01-15 17:19 oozie-oozi
drwxrwxrwx   - oracle oracle          0 2017-11-17 16:39 tmp
[oracle@bigdatalite tmp]$ hdfs dfs -test -d kevin_learning
[oracle@bigdatalite tmp]$ echo $?
0
[oracle@bigdatalite tmp]$ hdfs dfs -test -d kevin_learning2
[oracle@bigdatalite tmp]$ echo $?
1
[oracle@bigdatalite tmp]$
c0vxltue

c0vxltue2#

您必须检查命令的退出状态。在bash中您可以使用 echo $? .

$hdfs dfs -test -d /tmp/testdir
$echo $?
1

以上示例显示 /tmp/testdir 不退出。

相关问题