Hive表建立分区外部表并且添加每天的增量数据为分区

一、数据仓库建设过程中,我们都有每天的增量数据进来,我们需要把增量数据映射到我们的hive表中,但是为了数据能够被其他部门共同使用,并且需要对我们的原始数据进行综合管理,在数据仓库建设的第一层,我们就要使用外部表进行处理。

(外部表和内部表的区别自行查资料)

二、介绍一下怎么从外部的一个文件怎么映射成外部表并且分区,并且数据不会move到hive的相关目录下面。

 

 1、将文件(textFile)上传到hdfs中:

Hive表建立分区外部表并且添加每天的增量数据为分区_第1张图片

2、建外部表:

CREATE EXTERNAL TABLE tb_out_1 ( id String, name STRING, gender int ) 
PARTITIONED BY (dt int)
ROW FORMAT DELIMITED
FIELDS TERMINATED BY '\t' 
stored as TEXTFILE

注意要有分区字段!

一般公司里面都是parquert格式,但是为了演示方便,就使用了textfile格式

3、添加分区的信息和分区数据

alter table tb_out_1 
add partition (dt='20190808') 
location '/user/yanqingz/data/test/20190808/';

4、分配成功后文件还是存在原来的位置,并且分区数据已经有了:

这样我们即实现了外部表的优势,又将来源数据综合管理(尽量将所有的来源数据都放在统一的文件夹里面),而且每天的增量数据都可以通过add partition去添加。

 

完美。。

你可能感兴趣的:(大数据学习,Hive学习,Spark)