2016-12-12 1 views
0

하이브에 입력 데이터가있는 테이블을로드하려고합니다. 다음과 같은 형식의 데이터가 있습니다.하이브에 데이터를로드하는 동안 필드에서 따옴표를 제거합니다.

100510;LOCAL CARD;;;;UNITED KINGDOM;GB;GBR;826 
100515;LOCAL CARD;;;;NORWAY;NO;NOR;578 
103753;LOCAL CARD;I&M BANK;DEBIT;PREPAID;KENYA;KE;KEN;404 
104001;LOCAL CARD;LUXURY JEWELLERY CLASS (LJC) - TDFS;;;CANADA;CA;CAN;124 

나는 HDFS에서 하이브에서이 테이블을로드 할하지만 일부 열이 할 때문에되지 않은 데이터의 결과에서 나에게 큰 따옴표를주는이 포함되어 있습니다. 나는 그들을 무시하고 싶다.

+0

을 변경하려면 ?? : 테이블을 만들려면 – Farooque

+0

나는 그것이 비어 있기를 바란다. 값이 없습니다. 즉 공백입니다. – Rani

+0

테이블이 어떤 형식으로 저장되어 있습니까? – Andrew

답변

0

serialization.null.format을 사용하여 Hive가 null을 처리하는 방법을 제어 할 수 있습니다. 당신이 표시하고 싶어,

create table <your table> 
<column list> 
rowformat delimited fields terminated by <your delimiter> 
TBLPROPERTIES ('serialization.null.format' = ''); 

은 빈 따옴표 ("") 대신에 기존의 테이블

alter table <your table> set TBLPROPERTIES ('serialization.null.format' = ''); 
+0

위의 쿼리를 실행 한 후에는 null 값을 얻습니다. 그러나이 null 값을 공백으로 어떻게 대체 할 수 있습니까? – Rani

+0

잘 모르겠습니다. nulls, 빈 문자열 또는 다른 것에 대해 원하는 것은 무엇입니까? – Andrew

+0

예, null 대신 빈 문자열을 원합니다. – Rani

관련 문제