[HADOOP] 텍스트 파일의 하둡 사용자 정의 분할
HADOOP텍스트 파일의 하둡 사용자 정의 분할
SequenceFile로 변환하려는 상당히 큰 텍스트 파일이 있습니다. 불행히도 파일은 여러 물리적 라인을 통해 실행되는 논리적 라인을 가진 Python 코드로 구성됩니다. 예를 들어 "Blah Blah \ 인쇄 ... ㅋ ㅋ 각 논리 행은 NEWLINE으로 종료됩니다. 누군가가 각 값이 전체 논리 라인 인 Map-Reduce에서 키, 값 쌍을 생성하는 방법을 명확히 할 수 있습니까?
해결법
-
==============================
1.TextInputFormat에 고유 한 변형을 작성해야합니다. 거기에서 논리 줄의 시작을 볼 때까지 줄을 건너 뛰는 새 RecordReader를 만듭니다.
TextInputFormat에 고유 한 변형을 작성해야합니다. 거기에서 논리 줄의 시작을 볼 때까지 줄을 건너 뛰는 새 RecordReader를 만듭니다.
-
==============================
2.이전에 묻는 질문을 찾지 못했지만 간단한 mapreduce 작업을 통해 라인을 반복하고 StringBuilder에 저장하면됩니다. 새 레코드로 시작하려면 StringBuilder를 컨텍스트로 플러시하십시오. 트릭은 매퍼 클래스의 StringBuilder를 로컬 변수가 아닌 필드로 설정하는 것입니다.
이전에 묻는 질문을 찾지 못했지만 간단한 mapreduce 작업을 통해 라인을 반복하고 StringBuilder에 저장하면됩니다. 새 레코드로 시작하려면 StringBuilder를 컨텍스트로 플러시하십시오. 트릭은 매퍼 클래스의 StringBuilder를 로컬 변수가 아닌 필드로 설정하는 것입니다.
여기있어: Hadoop을 사용하여 텍스트 파일의 단락을 단일 레코드로 처리
-
==============================
3.입력 파일을 사전 처리하여 줄 바꾸기를 제거하십시오. SequenceFile을 만드는 목표는 무엇입니까?
입력 파일을 사전 처리하여 줄 바꾸기를 제거하십시오. SequenceFile을 만드는 목표는 무엇입니까?
from https://stackoverflow.com/questions/6327287/hadoop-custom-split-of-textfile by cc-by-sa and MIT license
'HADOOP' 카테고리의 다른 글
[HADOOP] Apache Pig-가방을 읽을 수 없음 (0) | 2019.09.07 |
---|---|
[HADOOP] Hbase를 사용하여 Hive 구성 (0) | 2019.09.07 |
[HADOOP] Hadoop Streaming (lang : Python)에서 여러 MapReduce 작업을 캐스케이드 할 수 있습니까? (0) | 2019.09.07 |
[HADOOP] HDFS에서 로컬 파일 시스템으로 Parquet 데이터 수집 (0) | 2019.09.07 |
[HADOOP] Spark 및 Python은 사용자 정의 파일 형식 / 생성기를 RDD의 입력으로 사용합니다. (0) | 2019.09.07 |