[HADOOP] 하이브 테이블에 키 값 쌍을로드하는 방법은 무엇입니까?
HADOOP하이브 테이블에 키 값 쌍을로드하는 방법은 무엇입니까?
아래는 내 데이터 세트입니다.
Jun name="balaji" id=101
Mar name="kumar" id=102
생성 된 테이블 :
create table sample(month string,name string, id int)
row format delimited fields terminated by 'space' map keys terminated by '=';
결과:
select * from sample;
JUN name="balaji" NULL
Mar name="kumar" NULL
예상 결과:
JUN balaji 101
Mar kumar 102
이것 좀 도와주세요.
해결법
-
==============================
1.다음과 같은 표를 만듭니다.
다음과 같은 표를 만듭니다.
create table sample(mnth string,names map<string,string>,ids map<string,int>) row format delimited fields terminated by ' ' map keys terminated by '=';
선택 쿼리는 다음과 같아야합니다.
select mnth,names["name"],ids["id"] from sample; result: Jun "balaji" 101 Mar "kumar" 102
샘플에서 select *를 실행하는 경우 :
Jun {"name":"\"balaji\""} {"id":101} Mar {"name":"\"kumar\""} {"id":102}
지도의 각 값에 액세스하려면 이름 [ "이름"]을 전달해야합니다.
from https://stackoverflow.com/questions/29159173/how-to-load-key-value-pairs-into-hive-table by cc-by-sa and MIT license
'HADOOP' 카테고리의 다른 글
[HADOOP] Spark에서 여러 줄 요소를 읽는 방법? (0) | 2019.06.28 |
---|---|
[HADOOP] Hadoop UI에는 하나의 데이터 노드 만 표시됩니다. (0) | 2019.06.28 |
[HADOOP] Base64 데이터의 스트림 디코딩 (0) | 2019.06.28 |
[HADOOP] Kerberized 클러스터에서의 이력 기록 서버 인증 (0) | 2019.06.28 |
[HADOOP] Hadoop을 Java 클래스로 실행하려면 어떻게해야합니까? (0) | 2019.06.28 |