大数据入门到精通--hive 中创建分区及向分区表中插入数据的操作
小职 2021-08-16 来源 : 阅读 1350 评论 0

摘要:本文主要介绍了大数据入门到精通--hive 中创建分区及向分区表中插入数据的操作,通过具体的内容向大家展现,希望对大家大数据的学习有所帮助。

本文主要介绍了大数据入门到精通--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)


我是小职,记得找我

✅ 解锁高薪工作

✅ 免费获取基础课程·答疑解惑·职业测评

大数据入门到精通--hive 中创建分区及向分区表中插入数据的操作

本文由 @小职 发布于职坐标。未经许可,禁止转载。
喜欢 | 0 不喜欢 | 0
看完这篇文章有何感觉?已经有0人表态,0%的人喜欢 快给朋友分享吧~
评论(0)
后参与评论

您输入的评论内容中包含违禁敏感词

我知道了

助您圆梦职场 匹配合适岗位
验证码手机号,获得海同独家IT培训资料
选择就业方向:
人工智能物联网
大数据开发/分析
人工智能Python
Java全栈开发
WEB前端+H5

请输入正确的手机号码

请输入正确的验证码

获取验证码

您今天的短信下发次数太多了,明天再试试吧!

提交

我们会在第一时间安排职业规划师联系您!

您也可以联系我们的职业规划师咨询:

小职老师的微信号:z_zhizuobiao
小职老师的微信号:z_zhizuobiao

版权所有 职坐标-一站式IT培训就业服务领导者 沪ICP备13042190号-4
上海海同信息科技有限公司 Copyright ©2015 www.zhizuobiao.com,All Rights Reserved.
 沪公网安备 31011502005948号    

©2015 www.zhizuobiao.com All Rights Reserved

208小时内训课程