获取最新更新文件夹中的HDFS
问题描述:
我想从我的HDFS directories.I的一个最新的更新的文件夹是能够得到在HDFS文件系统的最新文件,但不知道如何做到这一点的HDFS one.I试图与外壳脚本。获取最新更新文件夹中的HDFS
答
用Hadoop 2.6,我能得到它使用以下命令工作:
hdfs dfs -ls -R ${DIR} | grep "^d" | sort -k6,7 | tail -1 | tr -s ' ' | cut -d' ' -f8
其中,
hdfs dfs -ls -R ${DIR}
:给所有迪尔斯递归
grep "^d"
:只给出目录
sort -k6,7
:按照修改时间顺序排序
tail -1
:给出最后修改目录
tr -s ' '
:一些格式
cut -d' ' -f8
:只给出目录路径
例子:
[[email protected]]$ hdfs dfs -ls -R /tmp/a
drwxr-xr-x - hduser supergroup 0 2017-08-08 03:08 /tmp/a/b
drwxr-xr-x - hduser supergroup 0 2017-08-08 03:11 /tmp/a/b/c
drwxr-xr-x - hduser supergroup 0 2017-08-08 03:12 /tmp/a/b/c/CC
-rw-r--r-- 3 hduser supergroup 0 2017-08-08 03:12 /tmp/a/b/c/CC/f2.txt
drwxr-xr-x - hduser supergroup 0 2017-08-08 03:08 /tmp/a/b/c/d
drwxr-xr-x - hduser supergroup 0 2017-08-08 03:08 /tmp/a/b/c/d/e
-rw-r--r-- 3 hduser supergroup 6 2017-08-08 03:10 /tmp/a/b/c/f1.txt
解决方案:
[[email protected]]$ hdfs dfs -ls -R /tmp/a | grep "^d" | sort -k6,7 | tail -1 | tr -s ' ' | cut -d' ' -f8
/tmp/a/b/c/CC
你是如何获得最新的文件?您也可以使用相同的脚本文件夹。 – daemon12
hadoop的FS -ls -R/TMP /应用| awk -F“”'{print $ 6“”$ 7“”$ 8}'| sort -nr |头-1 |切-d”“-F3 –
的答案部分解决方案是类似的。尝试一下,看看它是否有效。 – daemon12