前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Hadoop Shell中判断HDFS文件是否存在

Hadoop Shell中判断HDFS文件是否存在

作者头像
smartsi
发布2019-08-07 09:01:43
4.7K0
发布2019-08-07 09:01:43
举报
文章被收录于专栏:SmartSiSmartSi

1. 用法

Hadoop提供了-test命令可以验证文件目录是否存在。我们首先看一下-test命令的使用用法:

代码语言:javascript
复制
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.

命令参数

描述

-d

如果指定路径是一个目录返回0否则返回1

-e

如果指定路径存在返回0否则返回1

-f

如果指定路径是一个文件返回0否则返回1

-s

如果指定路径文件大小大于0返回0否则返回1

-z

如果指定指定文件大小等于0返回0否则返回1

2. Example:

代码语言:javascript
复制
[xiaosi@ying:~$]$ sudo -uxiaosi hadoop fs -ls test/adv
Found 1 items
drwxr-xr-x   - xiaosi xiaosi          0 2018-01-25 15:39 test/adv/day=20180123
[xiaosi@ying:~$]$
[xiaosi@ying:~$]$ sudo -uxiaosi hadoop fs -test -e test/adv/day=20180123
[xiaosi@ying:~$]$ echo $?
0
[xiaosi@ying:~$]$ sudo -uxiaosi hadoop fs -test -e test/adv/day=20180124
[xiaosi@ying:~$]$ echo $?
1

3. Shell中判断

代码语言:javascript
复制
sudo -uxiaosi hadoop fs -test -e test/adv/day=20180123
if [ $? -eq 0 ] ;then
    echo '[info]目录已存在不需要创建'
else
    sudo -uxiaosi hadoop fs -mkdir -p test/adv/day=20180123
fi
本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2018-01-25,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 1. 用法
  • 2. Example:
  • 3. Shell中判断
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档