检查hdfs中是否存在带通配符的文件

时间:2016-02-26 18:44:46

标签: hadoop

我想检查hdfs中是否存在文件。我正在使用



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




现在我收到一条错误消息,如



test: `/data/bi/udm/incoming/Viewership/year=2016/month=02/day=26/hour=07/part-m-*.avro': No such file or directory
not ok




我在路径中期待的文件可以是任何映射器输出文件,即它可以是part-m-00000.avro,也可以是part-m-00099.avro,这就是我在我使用*的原因像part-m-*.avro一样搜索。

但是我们可以消除以下消息并仅输出not ok



test: `/data/bi/udm/incoming/Viewership/year=2016/month=02/day=26/hour=07/part-m-*.avro': No such file or directory




1 个答案:

答案 0 :(得分:1)

我可以通过以下代码解析它

if $(hadoop fs -ls $tilldirectorypath|grep "part-m-*.avro") ; then echo "ok";else echo "not ok"; fi

Where tilldirectorypath=/data/bi/udm/incoming/Viewership/year=2016/month=02/day=26/hour=07

And previous path defined as myfilewithpath=/data/bi/udm/incoming/Viewership/year=2016/month=02/day=26/hour=07/part-m-*.avro