[HADOOP] 멀티 문자 구분 기호로 하이브 테이블 만들기
HADOOP멀티 문자 구분 기호로 하이브 테이블 만들기
다중 문자열 문자를 구분 기호로 사용하여 HIVE 테이블을 만들고 싶습니다.
CREATE EXTERNAL TABlE tableex(id INT, name STRING)
ROW FORMAT delimited fields terminated by ','
LINES TERMINATED BY '\n' STORED AS TEXTFILE LOCATION '/user/myusername';
구분 기호를 "~ *"와 같은 다중 문자열로 사용하고 싶습니다.
해결법
-
==============================
1.FIELDS TERMINATED BY는 복수 문자 분리 문자를 지원하지 않습니다. 가장 쉬운 방법은 RegexSerDe를 사용하는 것입니다.
FIELDS TERMINATED BY는 복수 문자 분리 문자를 지원하지 않습니다. 가장 쉬운 방법은 RegexSerDe를 사용하는 것입니다.
CREATE EXTERNAL TABlE tableex(id INT, name STRING) ROW FORMAT 'org.apache.hadoop.hive.contrib.serde2.RegexSerDe' WITH SERDEPROPERTIES ( "input.regex" = "^(\\d+)~\\*(.*)$" ) STORED AS TEXTFILE LOCATION '/user/myusername';
-
==============================
2.MultiDelimitSerde를 사용하십시오.
MultiDelimitSerde를 사용하십시오.
CREATE EXTERNAL TABlE tableex(id INT, name STRING) ROW FORMAT SERDE 'org.apache.hadoop.hive.contrib.serde2.MultiDelimitSerDe' WITH SERDEPROPERTIES ("field.delim"="~*") STORED AS TEXTFILE LOCATION '/user/myusername';
from https://stackoverflow.com/questions/18931427/create-hive-table-with-multi-character-delimiter by cc-by-sa and MIT license
'HADOOP' 카테고리의 다른 글
[HADOOP] Apache Spark에서 정확한 중간 값을 어떻게 계산합니까? (0) | 2019.05.30 |
---|---|
[HADOOP] hadoop의 -libjars 문제 (0) | 2019.05.30 |
[HADOOP] 그러한 메소드가 없다는 예외 Hadoop <init> (0) | 2019.05.30 |
[HADOOP] hadoop : 0 감속기와 신원 감속기의 차이점은 무엇입니까? (0) | 2019.05.30 |
[HADOOP] Hadoop의 투기 적 태스크 실행 (0) | 2019.05.30 |