备注:写一点关于动态分区表的东西(参见:https://blog.youkuaiyun.com/qq_26442553/article/details/80382174)
不多说开始发车
一 简单的动态分区
1:创建分区表
-- 创建3列的分区表,其中dt为分区列
create table if not exists test_dwd_market_activity (
id bigint ,
ctime timestamp
)
partitioned by (dt string)
row format delimited fields terminated by '\t'
STORED AS parquet;
2:为分区表加载数据
-- 注:分区列放在select 的最后,在加载数据的时候会自动识别
hive.exec.dynamici.partition=true; -- 开启动态分区,默认是false
set hive.exec.dynamic.partition.mode=nonstrict; -- 开启允许所有分区都是动态的,否则必须要有静态分区才能使用。
insert overwrite table game_dwd.test_dwd_market_activity
partition(dt)
select id ,ctime,
substr(ctime, 0, 10) -- 注意:不以名字而是以分区字段位置判断是否是分区表
from game_ods.c_market_activity;