[hadoop] getmerge 명령어

hadoop 2016. 4. 21. 20:27



hadoop의 getmerge 명령어의 결과를 hadoop 파일 시스템에 저장하는 줄 알았는데, 알고 보니. local이었다.  ㅠ


getmerge 명령어는 part*로 나눠진 파일을 하나로 모아 로컬 파일 시스템에 저장한다.  




http://hadoop.apache.org/docs/current/hadoop-project-dist/hadoop-common/FileSystemShell.html#getmerge


getmerge

Usage: hadoop fs -getmerge [-nl] <src> <localdst>

Takes a source directory and a destination file as input and concatenates files in src into the destination local file. Optionally -nl can be set to enable adding a newline character (LF) at the end of each file.

Examples:

  • hadoop fs -getmerge -nl /src /opt/output.txt
  • hadoop fs -getmerge -nl /src/file1.txt /src/file2.txt /output.txt

Exit Code:

Returns 0 on success and non-zero on error.




예제>


$ hdfs dfs -ls /tmp/test/20160418

Found 6 items


/tmp/test/_SUCCESS

/tmp/test/done

/tmp/test/part-m-00000

/tmp/test/part-m-00001

/tmp/test/part-m-00002

/tmp/test/part-m-00003




$ hdfs dfs -getmerge hdfs://google-hadoop장비이름/tmp/test/20160418  /tmp/1



로컬에 하나의 파일로 저장한 것을 확인한다.

$ ls  /tmp/1

/tmp/1

Posted by '김용환'
,