복붙노트

[HADOOP] HDFS에서 마지막으로 업데이트 된 파일 가져 오기

HADOOP

HDFS에서 마지막으로 업데이트 된 파일 가져 오기

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. ==============================

    1.이 하나는 나를 위해 일했다 :

    이 하나는 나를 위해 일했다 :

    hadoop fs -ls -R / tmp / app | awk -F "" '{print $ 6 "" "$ 7" "$ 8}"| 정렬 -nr | 머리 -1 | cut -d ""-f3

    출력은 전체 파일 경로입니다.

  2. ==============================

    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 형식으로 날짜를 반환하므로 사전 순으로 정렬 할 수 있습니다.

  3. from https://stackoverflow.com/questions/34688792/get-the-last-updated-file-in-hdfs by cc-by-sa and MIT license