복붙노트

[HADOOP] 하이브 날짜 / 타임 스탬프 열

HADOOP

하이브 날짜 / 타임 스탬프 열

HDFS에 하이브를 통해 쿼리하도록 설정하려는 일부 데이터가 있습니다. 데이터는 쉼표로 구분 된 텍스트 파일 형식입니다. 파일의 열 중 하나는 다음과 같은 날짜 / 시간 열입니다.

Wed Aug 29 16:16:58 CDT 2018

다음 스크립트를 사용하여 생성 된 Hive 테이블을 읽으려고하면이 열의 값으로 NULL이 표시됩니다.

use test_db;
drop table ORDERS;

create external table ORDERS(
    SAMPLE_DT_TM TIMESTAMP
    ...
)
row format delimited
fields terminated by ',' 
stored as textfile
location '/user/data';

TIMESTAMP를 STRING으로 바꾸면 열 값을 읽을 수 있습니다. 그러나 Hive가 지원하는 적절한 날짜 형식으로 읽는 방법을 잘 모르겠습니다 ...

해결법

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

    1.Hive 1.2부터 날짜 형식을 이와 같이 설정할 수 있습니다.

    Hive 1.2부터 날짜 형식을 이와 같이 설정할 수 있습니다.

    ALTER TABLE ORDERS SET SERDEPROPERTIES ("timestamp.formats"="EEE MMM dd HH:mm:ss zzz yyyy");
    

    문서에서.

  2. from https://stackoverflow.com/questions/52502021/hive-date-timestamp-column by cc-by-sa and MIT license