hive实践_01

本地一份包含有中文的文本文件在上传到hive前,需要先转化为UTF-8格式,否则会出现乱码。(notepad++ 格式>>>转化UTF-8编码格式)
 
--------------------------------------------------------------------------------------------------不带分区----------------------------------------------------------------------------------------------------------
不带分区的表创建:(换行符\n做行分割,制表符\t做列分割) 
drop table if exists SCAN.ZTO_SCAN_COME_TEST_WL; 
 create table SCAN.ZTO_SCAN_COME_TEST_WL
(
  USERNAME      string,
  USERID  string
)
ROW FORMAT DELIMITED  FIELDS TERMINATED BY '\t'  LINES TERMINATED BY '\n'  STORED AS TEXTFILE;
 
删除表数据 insert overwrite table ZTO_SCAN_COME_TEST_WL  select * from ZTO_SCAN_COME_TEST_WL where 1=0;
 
全量导入数据方式一:覆盖
insert overwrite table ZTO_SCAN_COME_TEST_WL
select '李磊'  as username,'1006' as userid from ZTO_SCAN_COME_MANSUM  limit 1
 
全量导入数据方式二:覆盖
 
load data inpath '/user/hive/HQL_SOURCE/date_test_one.txt'
overwrite into  table ZTO_SCAN_COME_TEST_WL
 
增量导入数据方式一:添加
insert into table ZTO_SCAN_COME_TEST_WL
select '李磊1'  as username,'1007' as userid from ZTO_SCAN_COME_TEST_WL  limit 1
 
增量导入数据方式二:添加
 
load data inpath '/user/hive/HQL_SOURCE/date_test_one.txt'
into  table ZTO_SCAN_COME_TEST_WL
 
 
--------------------------------------------------------------------------------------------------带分区----------------------------------------------------------------------------------------------------------------
带分区的表创建:(换行符\n做行分割,制表符\t做列分割) 
drop table if exists SCAN.ZTO_SCAN_COME_TEST_WL; 
create table SCAN.ZTO_SCAN_COME_TEST_WL
(
  USERNAME      string,
  USERID  string
)
partitioned by(ds1 string,ds2 string)
ROW FORMAT DELIMITED  FIELDS TERMINATED BY '\t'  LINES TERMINATED BY '\n'  STORED AS TEXTFILE; 
 
删除某个分区数据:
ALTER TABLE ZTO_SCAN_COME_TEST_WL DROP IF EXISTS PARTITION (ds2='南京');
ALTER TABLE ZTO_SCAN_COME_TEST_WL DROP IF EXISTS PARTITION (ds1='20160902');
alter table ZTO_SCAN_COME_TEST_WL drop if  exists partition(ds1='20160902',ds2='北京');
 
注意:
1、带有分区的表数据插入时,必须指定到每个分区,一个不能少
2、带有分区的表数据删除时,至少指定一个分区即可
 
全量导入数据方式一:覆盖
insert overwrite table ZTO_SCAN_COME_TEST_WL  partition (ds1='20160901',ds2='上海') 
select '李磊'  as username,'1006' as userid from ZTO_SCAN_COME_MANSUM  limit 1;
 
insert overwrite table ZTO_SCAN_COME_TEST_WL  partition (ds1='20160901',ds2='南京') 
select '李磊'  as username,'1007' as userid from ZTO_SCAN_COME_MANSUM  limit 1;
 
全量导入数据方式二:覆盖
load data inpath '/user/hive/HQL_SOURCE/date_test_one.txt'
overwrite into  table ZTO_SCAN_COME_TEST_WL partition (ds1='20160902',ds2='南京') 
 
load data inpath '/user/hive/HQL_SOURCE/date_test_one.txt'
overwrite into  table ZTO_SCAN_COME_TEST_WL partition (ds1='20160902',ds2='泰州') 
 
增量导入方式一:添加
insert into table ZTO_SCAN_COME_TEST_WL  partition (ds1='20160901',ds2='上海') 
select '李磊'  as username,'1006' as userid from ZTO_SCAN_COME_MANSUM  limit 1;
 
增量导入方式二:添加
load data inpath '/user/hive/HQL_SOURCE/date_test_one.txt'
into  table ZTO_SCAN_COME_TEST_WL partition (ds1='20160902',ds2='南京') 
posted @ 2016-10-14 14:03  夏沫、微凉  阅读(194)  评论(0编辑  收藏  举报