[HADOOP] 하이브에서 줄 바꿈 문자 처리
HADOOP하이브에서 줄 바꿈 문자 처리
하이브로 테이블을 만들었습니다.
Create table(id int, Description String)
내 데이터는 다음과 같이 보입니다.
1|This will return corrupt data since there is a ',' in the first string. some text Change the data 2|There is prob in reading data sometext
기본 행 종결자가 \ n 이후 데이터가 하이브에로드 된 후 설명 열을 하이브로 읽을 수 없으므로 NULL 값을 표시합니다. 하이브에로드하기 전에 개행을 처리하는 방법을 제안 할 수 있습니까?
해결법
-
==============================
1.이 질문은 오래되었지만 몇 가지 옵션이 있습니다. FIELD TERMINATED BY로 제어 할 수 없습니다. FILEDS TERMINATED BY는 레코드가 아닌 필드를 종료하는 것만 제어하기 때문입니다. 하이브의 레코드는 개행 문자로 종료되도록 하드 코딩되어 있습니다 (LINES TERMINATED BY 절이 있어도 구현되지 않습니다).
이 질문은 오래되었지만 몇 가지 옵션이 있습니다. FIELD TERMINATED BY로 제어 할 수 없습니다. FILEDS TERMINATED BY는 레코드가 아닌 필드를 종료하는 것만 제어하기 때문입니다. 하이브의 레코드는 개행 문자로 종료되도록 하드 코딩되어 있습니다 (LINES TERMINATED BY 절이 있어도 구현되지 않습니다).
-
==============================
2.hive-site.xml에 below 속성을 추가하거나 임시 하이브 세션 레벨을 시도해보십시오.
hive-site.xml에 below 속성을 추가하거나 임시 하이브 세션 레벨을 시도해보십시오.
hive.query.result.fileformat = SequenceFile
-
==============================
3.기본적으로 하이브는 구분 기호로 NEWLINE ( '\ N')을 사용합니다. 다음을 사용하여 구분 기호를 변경할 수 있습니다.
기본적으로 하이브는 구분 기호로 NEWLINE ( '\ N')을 사용합니다. 다음을 사용하여 구분 기호를 변경할 수 있습니다.
ROW FORMAT DELIMITED FIELDS TERMINATED BY ",";
from https://stackoverflow.com/questions/26339564/handling-newline-character-in-hive by cc-by-sa and MIT license
'HADOOP' 카테고리의 다른 글
[HADOOP] hadoop 클러스터에서 id 생성을 처리하는 방법은 무엇입니까? (0) | 2019.06.11 |
---|---|
[HADOOP] hadoop - 맵 작업 및 정적 변수 감소 (0) | 2019.06.11 |
[HADOOP] "hadoop version"명령을 실행하는 동안 Cygwin에서 Hadoop의 CLASSPATH 문제 (0) | 2019.06.10 |
[HADOOP] 지도 전용 작업에 셔플 및 정렬이 있습니까? (0) | 2019.06.10 |
[HADOOP] Hadoop 가상 분산 모드 - 데이터 노드 및 작업 추적기가 시작되지 않음 (0) | 2019.06.10 |