하이브의 NULL 값에 대한 기본 표현은 \N 이다.
따라서 하이브로 쓴 파일을 읽어보면 \N으로 표현되어 있어 파일을 열었을 때 헷갈릴 수가 있다.
이는 하이브 테이블 설정의 serialization.null.format 를 이용하여 원하는 형태로 수정할 수 있다.
CREATE EXTERNAL TABLE people_v1 (
id INT,
username STRING,
email_address STRING,
phone_number STRING,
first_name STRING,
last_name STRING,
middle_name STRING,
sex STRING,
birthdate DATE,
join_date STRING,
previous_logins INT,
last_ip STRING
)
ROW FORMAT DELIMITED
FIELDS TERMINATED BY '\t'
LOCATION '/people_v1'
TBLPROPERTIES ('skip.header.line.count'='1','serialization.null.format' = '');
https://tajo.apache.org/docs/devel/table_management/text.html
http://hyunsik.github.io/tajo-doc-kr/docs/0.10.0/table_management/csv.html
http://bigdatums.net/2015/12/13/set-empty-fields-to-null-in-hive/
반응형
'빅데이터 > hive' 카테고리의 다른 글
[hive][error] java.io.IOException: Not a file (0) | 2016.12.01 |
---|---|
[hive][error] 하이브의 mysql 커넥터 오류 수정 (0) | 2016.11.24 |
[hive][error] MetaException(message:Metastore contains multiple versions) 처리 (0) | 2016.10.07 |
[hive][EMR] EMR의 하이브 작업이 쓴 파일 확인하기 (0) | 2016.09.30 |
[hive] 하이브의 가상 컬럼(virtual column)을 이용하여 파일 내용 삭제 (0) | 2016.09.30 |