[HADOOP] HDFS에서 마지막으로 업데이트 된 파일 가져 오기
HADOOPHDFS에서 마지막으로 업데이트 된 파일 가져 오기
HDFS 디렉토리 중 하나에서 최신 업데이트 파일을 원합니다. 코드는 기본적으로 디렉토리와 하위 디렉토리를 반복해야하고 파일 이름과 함께 최신 파일 경로를 가져와야합니다. 로컬 파일 시스템에서 최신 파일을 가져올 수 있지만 HDFS 파일에 대해 수행하는 방법을 알지 못했습니다.
/ tmp / sdsa -type f -print0을 찾으십시오. xargs -0 stat --format '% Y : % y % n'| 정렬 -nr | cut -d : -f2- | 머리
위의 코드는 로컬 파일 시스템에서 작동합니다. HDFS에서 날짜, 시간 및 파일 이름을 가져올 수 있지만이 세 가지 매개 변수를 사용하여 최신 파일을 얻는 방법은 무엇입니까?
이것은 내가 시도한 코드이다.
hadoop fs -ls -R / tmp / apps | awk -F "" '{print $ 6 "" "$ 7" "$ 8}"
어떤 도움을 주시면 감사하겠습니다.
미리 감사드립니다.
해결법
-
==============================
1.이 하나는 나를 위해 일했다 :
이 하나는 나를 위해 일했다 :
hadoop fs -ls -R / tmp / app | awk -F "" '{print $ 6 "" "$ 7" "$ 8}"| 정렬 -nr | 머리 -1 | cut -d ""-f3
출력은 전체 파일 경로입니다.
-
==============================
2.다음은 명령입니다.
다음은 명령입니다.
hadoop fs -ls -R /user| awk -F" " '{print $6" "$7" "$8}'|sort -nr|head|cut -d" " -f3-
스크립트 자체로 충분합니다. Hadoop은 YYYY-MM-DD HH24 : MI : SS 형식으로 날짜를 반환하므로 사전 순으로 정렬 할 수 있습니다.
from https://stackoverflow.com/questions/34688792/get-the-last-updated-file-in-hdfs by cc-by-sa and MIT license