循环通过hdfs目录

时间:2015-02-23 23:18:13

标签: hadoop

我的HDFS目录结构如下所示。

/user/hive/warehouse/check.db/abcd/date=2015-02-02/xyz=hijk/000000_0 /user/hive/warehouse/check.db/abcd/date=2015-02-02/xyz=pqrs/000000_0

我正在尝试遍历" /user/hive/warehouse/check.db/abcd"下的所有目录。并导出2个字段,并使用下面的代码。

INPUT='/user/hive/warehouse/check.db/abcd'

for dir in $(hadoop fs -ls $INPUT/*/ | grep -o -e "$INPUT/.*") ; do

    xyz=$(echo $dir | cut -d '=' -f 3)
    date=$(echo $dir | sed 's/.*date=\(.*\)\/xyz.*/\1/g')

done

这是最好的方法吗?或者有更好的替代方法吗?

1 个答案:

答案 0 :(得分:0)

你也可以使用Java代码或python脚本,虽然这看起来也很好。