本地一份包含有中文的文本文件在上传到hive前,需要先转化为UTF-8格式,否则会出现乱码。(notepad++ 格式>>>转化UTF-8编码格式)
--------------------------------------------------------------------------------------------------不带分区----------------------------------------------------------------------------------------------------------
不带分区的表创建:(换行符
做行分割,制表符 做列分割)
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 ' ' LINES TERMINATED BY '
' 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
--------------------------------------------------------------------------------------------------带分区----------------------------------------------------------------------------------------------------------------
带分区的表创建:(换行符
做行分割,制表符 做列分割)
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 ' ' LINES TERMINATED BY '
' 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='南京')