Hadoop 循环通过hdfs目录
我的HDFS目录结构如下所示 /用户/hive/warehouse/check.db/abcd/date=2015-02-02/xyz=hijk/000000\u 0 /用户/hive/warehouse/check.db/abcd/date=2015-02-02/xyz=pqrs/000000\u 0 我正在尝试遍历“/user/hive/warehouse/check.db/abcd”下的所有目录,并派生出2个字段,我使用下面的代码Hadoop 循环通过hdfs目录,hadoop,Hadoop,我的HDFS目录结构如下所示 /用户/hive/warehouse/check.db/abcd/date=2015-02-02/xyz=hijk/000000\u 0 /用户/hive/warehouse/check.db/abcd/date=2015-02-02/xyz=pqrs/000000\u 0 我正在尝试遍历“/user/hive/warehouse/check.db/abcd”下的所有目录,并派生出2个字段,我使用下面的代码 INPUT='/user/hive/warehouse/c
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
这是最好的方法还是有更好的替代方法?您也可以使用Java代码或python脚本,尽管这似乎已经足够好了