如何在HDFS

时间:2017-10-06 09:37:52

标签: hadoop hdfs

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

hdfs dfs -test -d /HDFS/Sample

此处示例是HDFS中的目录。

命令说如果path是directory,它将返回0,当我在提示符中执行此命令时,我无法在命令提示符下获得0。

2 个答案:

答案 0 :(得分:0)

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

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

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

答案 1 :(得分:0)

[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]$