Cloudera CDH/CDP 및 Hadoop EcoSystem, Semantic IoT등의 개발/운영 기술을 정리합니다. gooper@gooper.com로 문의 주세요.
-----------------------------------------------------------------------
데이타파일#1
test01.txt
park
-----------------------------------------------------------------------
데이타파일#2
test02.txt
sang
-----------------------------------------------------------------------
user 테이블 생성
CREATE EXTERNAL TABLE user (
name String
)
COMMENT 'User Infomation'
PARTITIONED BY (date String)
row format delimited fields terminated by 't'
LOCATION '/user/hadoop/datastore/user/';
-----------------------------------------------------------------------
20140403파티션에 데이타(test01.txt)를 date를 넣을 폴더 생성및 데이타 파일등록
hadoop@bigdata-host:~/hadoop/working$ hadoop fs -mkdir /user/hadoop/datastore/user/date=20140403
hadoop@bigdata-host:~/hadoop/working$ hadoop fs -put test01.txt /user/hadoop/datastore/user/date=20140403
-----------------------------------------------------------------------
파티션등록
hive> alter table user add partition(date='20140403');
-----------------------------------------------------------------------
결과 확인
hive> select * from user; -->
park 20140403
-----------------------------------------------------------------------
두번째 파일 등록
20140404파티션에 데이타(test02.txt)를 date를 넣을 폴더 생성및 데이타 파일등록
hadoop@bigdata-host:~/hadoop/working$ hadoop fs -mkdir /user/hadoop/datastore/user/date=20140404
hadoop@bigdata-host:~/hadoop/working$ hadoop fs -put test02.txt /user/hadoop/datastore/user/date=20140404
-----------------------------------------------------------------------
파티션등록
hive> alter table user add partition(date='20140404');
-----------------------------------------------------------------------
결과 확인
hive> select * from user; -->
park 20140403
sang 20140404
-----------------------------------------------------------------------
data파일 추가: test03.txt
-----------------------------------------------------------------------
변경된 파일을 20140403파티션에 upload후 데이타 확인
hadoop@bigdata-host:~/hadoop/working$ hadoop fs -put test03.txt /user/hadoop/datastore/user/date=20140403
-----------------------------------------------------------------------
select하면
hive> select * from user;
OK
park 20140403
append1 20140403
append2 20140403
append3 20140403
sang 20140404
Time taken: 0.318 seconds, Fetched: 5 row(s)
-----------------------------------------------------------------------
hadoop@bigdata-host:~/hadoop/working$ hadoop fs -ls /user/hadoop/datastore/user/date=20140403Found 2 items
-rw-r--r-- 1 hadoop supergroup 5 2014-04-03 21:55 /user/hadoop/datastore/user/date=20140403/test01.txt
-rw-r--r-- 1 hadoop supergroup 24 2014-04-03 22:42 /user/hadoop/datastore/user/date=20140403/test03.txt