Vous pouvez essayer -test
possibilité d'obtenir la même chose.
hdfs dfs -test -[defszrw] HDFS_PATH
-d
: si le chemin est un répertoire, renvoie 0.-e
: si le chemin existe, renvoie 0.Depuis la version 2.7.0
-f
: si le chemin est un fichier, renvoie 0.-s
: si le chemin n'est pas vide, renvoie 0.-r
: si le chemin existe et que l'autorisation de lecture est accordée, renvoie 0.depuis 2.8.0
-w
: si le chemin existe et que l'autorisation d'écriture est accordée, renvoie 0.-z
: si le fichier est de longueur nulle, renvoie 0.
Exemple :
if hdfs dfs -test -e $HDFS_PATH; then
echo "[$HDFS_PATH] exists on HDFS"
hdfs dfs -ls $HDFS_PATH
fi
Référence :https://hadoop.apache.org/docs/current/hadoop-project-dist/hadoop-common/FileSystemShell.html#test