shell判断hdfs文件目录是否存在

hadoop有提供相应的脚本去验证文件目录是否存在的:

-bash-3.2$ hadoop fs -help
...
-test -[defsz] <path>:	Answer various questions about <path>, with result via exit status.
		  -d  return 0 if <path> is a directory.
		  -e  return 0 if <path> exists.
		  -f  return 0 if <path> is a file.
		  -s  return 0 if file <path> is greater than zero bytes in size.
		  -z  return 0 if file <path> is zero bytes in size.
		else, return 1.

测试的hdfs目录中:

-bash-3.2$ hadoop fs -ls /user/hive/warehouse/yhd_gmv_month
Found 3 items
drwxr-xr-x   - deploy supergroup          0 2014-08-25 11:15 /user/hive/warehouse/yhd_gmv_month/ds=2014-08-24
drwxr-xr-x   - deploy supergroup          0 2014-08-26 13:02 /user/hive/warehouse/yhd_gmv_month/ds=2014-08-25
drwxr-xr-x   - deploy supergroup          0 2014-08-27 08:09 /user/hive/warehouse/yhd_gmv_month/ds=2014-08-26

检验昨天产生的目录是否产生的shell脚本:

yesterday=$(date -d '-1 day' '+%Y-%m-%d')
hadoop fs -test -e /user/hive/warehouse/yhd_gmv_month/ds=$yesterday
if [ $? -eq 0 ] ;then
	echo 'exist'
else
	echo 'Error! Directory is not exist'
fi

验证存在的输出结果如下:

-bash-3.2$ hadoop fs -test -e /user/hive/warehouse/yhd_gmv_month/ds=$yesterday
if [ $? -eq 0 ] ;then
	echo 'exist'
else
	echo 'Error! Directory is not exist Or Zero bytes in size'
fi
-bash-3.2$ if [ $? -eq 0 ] ;then
> echo 'exist'
> else
> echo 'Error! Directory is not exist Or Zero bytes in size'
> fi
exist
时间: 2024-10-14 04:52:39

shell判断hdfs文件目录是否存在的相关文章

shell 判断文件、目录是否存在

shell判断文件是否存在 1. shell判断文件,目录是否存在或者具有权限 2. #!/bin/sh 3. 4. myPath="/var/log/httpd/" 5. myFile="/var /log/httpd/access.log" 6. 7. # 这里的-x 参数判断$myPath是否存在并且是否具有可执行权限 8. if [ ! -x "$myPath"]; then 9. mkdir "$myPath" 10

shell判断条件是否存在

1. shell判断文件,目录是否存在或者具有权限 2. #!/bin/sh 3. 4. myPath="/var/log/httpd/" 5. myFile="/var /log/httpd/access.log" 6. 7. # 这里的-x 参数判断$myPath是否存在并且是否具有可执行权限 8. if [ ! -x "$myPath"]; then 9. mkdir "$myPath" 10. fi 11. 12. #

[SHELL]判断一个命令是否存在

首先要说明的是,不要使用which来进行判断,理由如下: 1.which非SHELL的内置命令,用起来比内置命令的开销大,并且非内置命令会依赖平台的实现,不同平台的实现可能不同. # type type type is a shell builtin # type command command is a shell builtin # type which which is hashed (/usr/bin/which) 2.很多系统的which并不设置退出时的返回值,即使要查找的命令不存在,

shell判断文件是否存在

转自:http://www.cnblogs.com/sunyubo/archive/2011/10/17/2282047.html 1. shell判断文件,目录是否存在或者具有权限 2. #!/bin/sh 3. 4. myPath="/var/log/httpd/" 5. myFile="/var /log/httpd/access.log" 6. 7. # 这里的-x 参数判断$myPath是否存在并且是否具有可执行权限 8. if [ ! -x "

shell判断一个变量是否为空

判断一个变量是否为空 . 1. 变量通过" "引号引起来 如下所示:,可以得到结果为 IS NULL. #!/bin/sh para1= if [ ! -n "$para1" ]; then echo "IS NULL" else echo "NOT NULL" fi 2. 直接通过变量判断 如下所示:得到的结果为: IS NULL #!/bin/sh para1= if [ ! $para1 ]; then echo &qu

[转] Linux shell判断文件和文件夹是否存在

shell判断文件,目录是否存在或者具有权限 #!/bin/sh myPath="/var/log/httpd/" myFile="/var /log/httpd/access.log" #这里的-x 参数判断$myPath是否存在并且是否具有可执行权限 if [ ! -x "$myPath"]; then mkdir "$myPath" fi #这里的-d 参数判断$myPath是否存在 if [ ! -d "$m

shell判断文件类型和权限

shell  判断文件类型. -d 文件 判断该文件是否存在,并且是否为目录(是目录为真) -e文件 判断该文件是否存在(存在为真) -f文件 判断该文件是否存在,并且是否为文件(是普通文件为真) -r 如果有文件存在 ,判断文件是否具有读权限有读权限返回真-w如果有文件存在 ,判断文件是否具有写权限有写权限返回真-x如果有文件存在 ,判断文件是否具有执行权限有执行权限返回真 在shell中的写法一般是 eg:[空格-e 文件路径 空格] [ -e /tmp/index.php ] [ -e /

shell判断和比较

http://blog.chinaunix.net/uid-7553302-id-183648.html 1  shell 的$! ,$?, $$,[email protected] $n        $1 the first parameter,$2 the second... $#        The number of command-line parameters. $0        The name of current program. $?        Last comma

Hadoop大象之旅009-通过Shell操作hdfs

Hadoop大象之旅009-通过Shell操作hdfs 老帅 调用Hadoop分布式文件系统(HDFS)Shell命令应使用bin/hadoop fs <args>的形式. 1.查看hdfs都有哪些Shell命令 参照前面章节中所述方法,使用SecureCRTPortable.exe登录CentOS; 使用命令"hadoopfs"查看hdfs的命令列表,如下图所示: hdfs的所有命令的格式,都为:hadoop fs –xx,具体使用方法,可参考官方文档: http://h