尝试使用解决方案获取HDFS中文件列表中的最新更新数据。
说明:
hdfs dfs -ls -l /tmp/workday1/list/date=20170101/
上面的命令显示提到的文件夹中的文件列表以及所有者,权限,更新时间等相应属性。
与目录date=20170101
一样,还有其他日期的目录,每日数据加载分别具有日期的目录。但是,旧日期目录中更新的文件不必仅是旧日期。今天运行的进程,如果包含一些旧日期的文件,将只将这些文件放在旧日期的文件夹中。
我需要弄清楚,一旦加载完成,我就会创建一个今天更新的所有文件的列表。我唯一的限制是我需要根据更新的时间戳属性来解决这个问题。文件名不包含任何日期因子。
有什么建议吗?
答案 0 :(得分:0)
我正以错误的方式接近它;以下是我对此的回答。
hdfs dfs -ls -t -r -R -d ${path-to-hdfs-area}/date*/ | grep $currentDate | awk '{print $8}'
上面的命令将给出目录列表,如果需要文件列表和目录,我们可以删除-d
选项。
hdfs dfs -ls -t -r -R ${path-to-hdfs-area}/date*/ | grep $currentDate | awk '{print $8}'
其中,currentDate=
date +%Y-%m-%d