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
'hadoop' 카테고리의 다른 글
[hive] ClassNotFoundException Class org.openx.data.jsonserde.JsonSerDe not found 해결하기 (0) | 2017.02.23 |
---|---|
[hive] Failed to recognize predicate 'x'. Failed rule: 'identifier' in table or column identifier 해결하기 (0) | 2017.02.23 |
hadoop client 설치 URL (0) | 2016.10.24 |
hive 와 hadoop 버전 확인하기 (0) | 2016.10.21 |
[hive] hive의 윈도우 표현식(파티션 범위) (0) | 2016.05.11 |