0
我想從我的HDFS directories.I的一個最新的更新的文件夾是能夠得到在HDFS文件系統的最新文件,但不知道如何做到這一點的HDFS one.I試圖與外殼腳本。獲取最新更新文件夾中的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