摘要:本文主要介绍了大数据入门到精通--hive 中创建分区及向分区表中插入数据的操作,通过具体的内容向大家展现,希望对大家大数据的学习有所帮助。
本文主要介绍了大数据入门到精通--hive 中创建分区及向分区表中插入数据的操作,通过具体的内容向大家展现,希望对大家大数据的学习有所帮助。
— 1 创建分区表
create table username.test_par(
cust_no string
)partitioned by(province_code string comment "按网省分区" ,YM string comment "按年月分区")
row format delimited fields terminated by ',';
备注 该表中以province_code和ym作为分区
– 2 向分区表中插入数据
insert into username.test_par PARTITION(province_code='61',
YM='202106'
)
select '000' as cust_no;
备注:分区中province_code取值为’61’,ym取值为’202106’
– 3 向分区表中插入参数
insert into username.test_par PARTITION(province_code='${hiveconf:param_province}',
YM='${hiveconf:param_ym}'
)
select '000' as cust_no;
--- 执行hql文件
beeline -u "jdbc:hive2://ip:端口" -n dsjb_qwbqk_csq -hiveconf param_province='61' -hiveconf param_ym='202107' -f test-par.hql
test-par.hql .hql文件中的内容为:
insert into username.test_par PARTITION(province_code='${hiveconf:param_province}',
YM='${hiveconf:param_ym}'
)
select '000' as cust_no;
备注:insert overwrite是删除原有数据然后在新增数据,如果有分区那么只会删除指定分区数据,其他分区数据不受影响
4 给分区表创建分区
alter table table_name add partition (province_code='61',ym = '202106');
5 分区插入数据说明
向分区中插入 与年月相关的参数时,在sql语句中运算时,参数需要加上单引号,否则无法进行运算
-- 把指定字符串转时间 -年月,再进行运算,运算结束后再转回字符串年月
select substr(regexp_replace(string(add_months(from_unixtime(unix_timestamp('${param_ym'}, 'yyyyMM'),'yyyy-MM-dd'),-2)),"-",""),1,6)
我是小职,记得找我
✅ 解锁高薪工作
✅ 免费获取基础课程·答疑解惑·职业测评
您输入的评论内容中包含违禁敏感词
我知道了
请输入正确的手机号码
请输入正确的验证码
您今天的短信下发次数太多了,明天再试试吧!
我们会在第一时间安排职业规划师联系您!
您也可以联系我们的职业规划师咨询:
版权所有 职坐标-一站式IT培训就业服务领导者 沪ICP备13042190号-4
上海海同信息科技有限公司 Copyright ©2015 www.zhizuobiao.com,All Rights Reserved.
沪公网安备 31011502005948号