hadoop ls는 명령어가 많지 않다. 


d h R 밖에 없다. 


Usage: hadoop fs [generic options] -ls [-d] [-h] [-R] [<path> ...]



그래서 먼가 후처리를 하고 싶다면, 파이프라인을 활용해야 한다.


예를 들어, 특정 디렉토리에 최근에 만들어진 파일을 얻고 싶다면 다음과 같이 모든 파일을 출력하게 한 후, 시간으로 리버스한 후, 마지막 하나를 읽어오면 된다. 


이 명령어로 검증해보고..


$ hadoop fs -ls -R  /google/app-store-log/  | sort -k 6 | tail -n 1



아래 명령어를 쓰면 최근에 생성된 파일을 찾을 수 있다.


hadoop fs -ls -R /google/app-store-log/  | sort -k 6 | tail -n 1 | awk '{print $8'}



특정 디렉토리의 최신 파일을 복사하려면, 다음과 같이 하면 된다. 



hdfs dfs -get `hadoop fs -ls -R  /google/app-store-log/ | sort -k 6 | tail -n 1 | awk '{print $8'}` /tmp/google-spark-job.jar


Posted by '김용환'
,