복붙노트

[HADOOP] CSV 파일의 문자열에 큰 따옴표와 함께 하이브 테이블에 삽입 된 값

HADOOP

CSV 파일의 문자열에 큰 따옴표와 함께 하이브 테이블에 삽입 된 값

CSV 파일을 하이브 테이블로 내보내고 있습니다. csv 파일 정보 : 열 값은 큰 따옴표로 묶고 쉼표로 구분합니다.

CSV의 샘플 레코드

"4","good"
"3","not bad"
"1","very worst"

다음 진술로 하이브 테이블을 만들었습니다.

','로 구분 된 외부 테이블 카레 (review_rating string, review_comment string) 행 형식 필드를 작성하십시오.

테이블이 생성되었습니다.

이제 load data local inpath 명령을 사용하여 데이터를로드했으며 성공했습니다. 테이블을 쿼리 할 때

select * from currys;

결과는 다음과 같습니다

"4"  "good"
"3"  "not bad"
"1"   "very worst"

대신에

4  good
3  not bad
1  very worst

큰 따옴표로 레코드를 삽입하면 안됩니다.

이 큰 따옴표를 제거하는 방법을 알려주십시오 .. 어떤 도움이나지도가 높이 평가됩니다 ...

미리 감사드립니다!

해결법

  1. ==============================

    1.당신은 어떤 serde를 사용하고 있습니까? 그렇다면 SERDE PROPERTIES에 regex 명령을 작성하여 따옴표를 제거 할 수 있습니다.

    당신은 어떤 serde를 사용하고 있습니까? 그렇다면 SERDE PROPERTIES에 regex 명령을 작성하여 따옴표를 제거 할 수 있습니다.

    또는 여기에서 csv-serde를 사용하고 따옴표 문자를 정의 할 수 있습니다.

  2. from https://stackoverflow.com/questions/23821062/values-inserted-in-hive-table-with-double-quotes-for-string-from-csv-file by cc-by-sa and MIT license