gpt4 book ai didi

shell - 检查HDFS中的目录是否已经存在

转载 作者:可可西里 更新时间:2023-11-01 14:10:28 25 4
gpt4 key购买 nike

我在 HDFS 中有以下目录结构,

/analysis/alertData/logs/YEAR/MONTH/DATE/HOURS

即数据以年/月/日/小时的格式存储,按小时计算。

我写了一个 shell 脚本,我在其中传递路径直到

"/analysis/alertData/logs"   ( this will vary depending on what product of data i am handling)

然后 shell 脚本遍历年/月/日/小时文件夹并返回最新的路径。

例如:

 Directories present in HDFS has following structure: 

/analysis/alertData/logs/2014/10/22/01
/analysis/alertData/logs/2013/5/14/04

shell script is given path till : " /analysis/alertData/logs "

it outputs most recent directory : /analysis/alertData/logs/2014/10/22/01

我的问题是如何验证传递给 shell 脚本的 HDFS 目录路径是否有效。假设我传递了一个错误的路径作为输入或不存在的路径,那么如何在 shell 脚本中处理它。

示例错误路径可以是:

  wrong path   :  /analysis/alertData ( correct path :  /analysis/alertData/logs/ )
wrong path : /abc/xyz/ ( path does not exit in HDFS )

我尝试使用 Hadoop dfs -test -z/-d/-e 选项对我不起作用。对此有任何建议。

注意:不在这里发布我的原始代码,因为我的问题的解决方案不依赖于它。

提前致谢。

最佳答案

尝试不使用测试命令[]:

if $(hadoop fs -test -d $yourdir) ; then echo "ok";else echo "not ok"; fi

关于shell - 检查HDFS中的目录是否已经存在,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26513861/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com