生产中Hive静态和动态分区表,该怎样抉择呢?
发表于:2026-11-03 作者:千家信息网编辑
千家信息网最后更新 2026年11月03日,一.需求按照不同部门作为分区,导数据到目标表二.使用静态分区表来完成1.创建静态分区表:create table emp_static_partition(empno int, ename strin
千家信息网最后更新 2026年11月03日生产中Hive静态和动态分区表,该怎样抉择呢?
一.需求
按照不同部门作为分区,导数据到目标表
二.使用静态分区表来完成
1.创建静态分区表:
create table emp_static_partition(empno int, ename string, job string, mgr int, hiredate string, sal double, comm double)PARTITIONED BY(deptno int)row format delimited fields terminated by '\t';2.插入数据:
hive>insert into table emp_static_partition partition(deptno=10) select empno , ename , job , mgr , hiredate , sal , comm from emp where deptno=10;3.查询数据:
hive>select * from emp_static_partition;
三.使用动态分区表来完成
1.创建动态分区表:
create table emp_dynamic_partition(empno int, ename string, job string, mgr int, hiredate string, sal double, comm double)PARTITIONED BY(deptno int)row format delimited fields terminated by '\t';【注意】动态分区表与静态分区表的创建,在语法上是没有任何区别的
2.插入数据:
hive>insert into table emp_dynamic_partition partition(deptno) select empno , ename , job , mgr , hiredate , sal , comm, deptno from emp;【注意】分区的字段名称,写在最后,有几个就写几个 与静态分区相比,不需要where
需要设置属性的值:
hive>set hive.exec.dynamic.partition.mode=nonstrict;假如不设置,报错如下:
3.查询数据:
hive>select * from emp_dynamic_partition;
分区列为deptno,实现了动态分区
四.总结
在生产上我们更倾向是选择动态分区,
无需手工指定数据导入的具体分区,
而是由select的字段(字段写在最后,有几个写几个)自行决定导出到哪一个分区中, 并自动创建相应的分区,使用上更加方便快捷 ,在生产工作中用的非常多多。
分区表
数据
动态
静态
字段
生产
查询
不同
方便快捷
中用
倾向
名称
属性
手工
是由
目标
语法
部门
需求
工作
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
咖啡
互联网科技园
深圳市人人互联网科技有限公司
互联网佳科技有限公司
与互联网科技公司
互联网科技金融公司
平安科技 互联网
猪兼强互联网科技
互联网科技股票
苏州互联网科技贷款公司
赫美联合互联网科技
互联网巨头投资的硬核科技
华脉科技工业互联网产品
科技互联网的估值
互联网系的金融科技公司
元气玛特互联网科技公司是外包吗
本届互联网大会上的黑科技
保山互联网科技靠谱吗
北京互联网科技类企业分布
悟空问答互联网科技
长亮科技互联网金融
华中科技有哪些互联网大佬
宁夏科技产业互联网案例
米聚互联网科技南京有限公司排面
洛阳共同富裕互联网科技有限公司
美国互联网科技实力
产业互联网科技服务公司
云鲸互联网络科技有限公司
互联网公司属于科技吗
现代科技的标志之一的互联网