0
대형 텍스트 파일을 처리하는 맵 전용 작업이 있습니다. 각 라인은 분석되고 범주화됩니다. MultipleOutputs는 각 카테고리를 개별 파일로 출력하는 데 사용됩니다. 결국 모든 데이터가 각 카테고리 전용 하이브 테이블에 추가됩니다. 현재의 워크 플로우는 일을 처리하지만 조금 번거 롭습니다. 몇 가지 카테고리를 추가 할 예정이며 프로세스를 합리화 할 수 있다고 생각했습니다. 몇 가지 아이디어가 있었고 몇 가지 의견을 찾고있었습니다.하이브 테이블에 Hadoop 작업 결과 추가
현재 워크 플로우 :
- 지도 전용 작업이 범주로 큰 파일을 분할.
-
categ1-m-00000
categ1-m-00001
categ1-m-00002
categ2-m-00000
categ2-m-00001
categ2- : 출력은 다음과 같다 m-00002
categ3-m-00000
categ3-m-00001
categ3-m-00002
- 외부 (Hadoop이 아닌) 프로세스는 출력 파일을 각 카테고리의 개별 디렉토리에 복사합니다.
-
categ1/00000
categ1/00001
categ1/00002
categ2/00000
categ2/00001
categ2/00002
categ3/00000
categ3/00001
categ3/00002
- 각 범주에 대해 외부 테이블이 만들어진 다음 해당 범주에 대한 영구 하이브 테이블에 데이터가 삽입됩니다.
가능한 새로운 워크 플로우
- 를 사용하여 출력 파일을 통해 루프 스파크, 파일 이름에 따라, 적절한 영구적 인 하이브 테이블에 데이터를 삽입합니다.
- HCatalog를 사용하여 Mapper에서 직접 영구 하이브 테이블에 데이터를 삽입하거나 각 카테고리 전용 Reducer 또는 Reducer 세트를 삽입하십시오.
매력처럼 작동했습니다! 나는 그 버전의 글을 놓친다는 것을 믿을 수 없다. –