[HADOOP] Hadoop : 어떻게 감속기 출력을 단일 파일에 병합 할 수 있습니까? [복제]
HADOOPHadoop : 어떻게 감속기 출력을 단일 파일에 병합 할 수 있습니까? [복제]
쉘에서 "getmerge"명령이이 작업을 수행 할 수 있음을 알고 있습니다.
하지만 Java 용 HDFS API로 작업 한 후에 이러한 출력을 병합하려면 어떻게해야합니까?
내가 실제로 원하는 것은 HDFS에서 하나의 병합 된 파일입니다.
내가 생각할 수있는 유일한 방법은 그 후에 추가 작업을 시작하는 것입니다.
감사!
해결법
-
==============================
1.추측하기. 나는이 방법을 직접 사용해 보지 않았으므로 찾고있는 방법이 FileUtil.copyMerge인데, 이는 -getmerge 명령을 실행할 때 FsShell이 호출하는 방법입니다. FileUtil.copyMerge는 두 개의 FileSystem 객체를 인수로 사용합니다. FsShell은 FileSystem.getLocal을 사용하여 대상 FileSystem을 검색하지만 대상에서 Path.getFileSystem을 대신 사용하여 OutputStream을 얻을 수없는 이유가 없습니다
추측하기. 나는이 방법을 직접 사용해 보지 않았으므로 찾고있는 방법이 FileUtil.copyMerge인데, 이는 -getmerge 명령을 실행할 때 FsShell이 호출하는 방법입니다. FileUtil.copyMerge는 두 개의 FileSystem 객체를 인수로 사용합니다. FsShell은 FileSystem.getLocal을 사용하여 대상 FileSystem을 검색하지만 대상에서 Path.getFileSystem을 대신 사용하여 OutputStream을 얻을 수없는 이유가 없습니다
즉, 나는 그것이 당신을 아주 많이 차지한다고 생각하지 않는다. 병합은 여전히 로컬 JVM에서 일어나고있다. 그래서 당신은 정말로 지나치게 많은 돈을 절약하지 않고 -put을 뒤따라옵니다.
-
==============================
2.코드에 단일 감속기를 설정하여 단일 출력 파일을 가져옵니다.
코드에 단일 감속기를 설정하여 단일 출력 파일을 가져옵니다.
from https://stackoverflow.com/questions/12911798/hadoop-how-can-i-merge-reducer-outputs-to-a-single-file by cc-by-sa and MIT license
'HADOOP' 카테고리의 다른 글
[HADOOP] hadoop 연결이 포트 9000에서 거부되었습니다. (0) | 2019.07.25 |
---|---|
[HADOOP] hadoop / hdfs / name이 일치하지 않는 상태입니다 : 저장소 디렉토리 (hadoop / hdfs / data /)가 없거나 액세스 할 수 없습니다 (0) | 2019.07.25 |
[HADOOP] 스파크 2.0 - 하이브를 쿼리 할 때 "테이블 또는 뷰를 찾을 수 없음"(스파크 캔트 하이브 테이블 참조) [닫힘] (0) | 2019.07.25 |
[HADOOP] oozie가 종속성을 처리하는 방법은 무엇입니까? (0) | 2019.07.25 |
[HADOOP] 하둡이없는 쪽모이도? (0) | 2019.07.25 |