生产中Hive静态和动态分区表,该怎样抉择呢?
发表于:2025-12-03 作者:千家信息网编辑
千家信息网最后更新 2025年12月03日,一.需求按照不同部门作为分区,导数据到目标表二.使用静态分区表来完成1.创建静态分区表:create table emp_static_partition(empno int, ename strin
千家信息网最后更新 2025年12月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安全错误
数据库的锁怎样保障安全
智能家居需要装服务器吗
服务器没有网络能启动吗
网络安全ccie教材
SAP数据库抽取速度
网络安全风险评估内容包括
数据库有ole技术吗
东莞显示软件开发
软件无法访问图形服务器
服务器里面的其他用户怎么清除
科技信息公司+互联网金融
国家金融网络安全
昭和调色软件开发
微擎数据库更新字段
主流人工智能软件开发工具
德州党建设计软件开发公司
朔州网络技术服务
加强县级网络安全建设
学程序员还是学网络安全
手机怎样备份wifi数据库
数据库配置工具配置监听
甘孜网络技术哪家好
湖北项目软件开发机构
莱州商城软件开发解决方案
深圳小吧嗒互联网科技有限公司
中国好故事数据库评价
汉正街租房软件开发
汉南定制软件开发企业
怎么发mysql数据库文件
hive服务器怎么喊话
王者为什么不能玩之前的服务器