일부 요약 수치를 생성하기 위해 주기적으로 하이브로 데이터를 가져옵니다. 우리는 현재 CSV 파일 형식을 사용하여 다음과 같이 레이아웃은 다음과 같습니다 타임 스탬프 필드별로 분할 된 테이블
operation,item,timestamp,user,marketingkey
이 현재 우리는 타임 스탬프 필드의 날짜 (YYYY-MM-DD)를 통해 그룹화 수행하는 몇 가지 질문이.
가져 오는 파일이 더 많은 일을 보유하고 있으며 분할 된 방식으로 저장하려고합니다.
CREATE TABLE
partitionedTable (name string)
PARTITIONED BY (time bigint)
ROW FORMAT DELIMITED FIELDS TERMINATED BY ',';
데이터 로딩이 같이 이루어졌다 : 하이브와 함께 할 수있는 방법 나는 다음과 같은 DDL에 따라 테이블을 구축 가지고 있나요
LOAD DATA LOCAL INPATH
'/home/spaeth/tmp/hadoop-billing-data/extracted/testData.csv'
INTO TABLE partitionedTable PARTITION(time='2013-05-01');
하지만 그 하이브를 원하는가 적용되는 가져 오는 파일 내에있는 필드를 기반으로 자동으로 파티션을 분할합니다. 예를 들어 :
login,1,1370793184,user1,none --> stored to partition 2013-06-09
login,2,1360793184,user1,none --> stored to partition 2013-02-13
login,1,1360571184,user2,none --> stored to partition 2013-02-11
buy,2,1360501184,user2,key1 --> stored to partition 2013-02-10