hive数据仓库新增字段方法


Posted in 数据库 onJune 25, 2022

新增字段

1、方法1

alter table 表名 add columns (列名 string COMMENT '新添加的列') CASCADE;
alter table 表名 add columns (列名 string COMMENT '新添加的列');
hive表中指定位置增加一个字段
分两步,先添加字段到最后(add columns),然后再移动到指定位置(change)
alter table 表名 add columns (列名 string comment '当前时间'); -- 正确,添加在最后
alter table 表名 change 列名 string after 指定位置的列名; -- 正确,移动到指定位置,address字段的后面

添加之后字段由于hive底层是文件和系列化的设计,因此查数据会发现新增的列在所有已有列的后面

CASCADE会刷历史分区字段

cascade知识

  • cascade的中文翻译为“级联”,也就是不仅变更新分区的表结构(metadata),同时也变更旧分区的表结构。
  • 对于删除操作也是,级联删除表中的信息,当表A中的字段引用了表B中的字段时,一旦删除B中该字段的信息,表A的信息也自动删除。(当父表的信息删除,子表的信息也自动删除)
  • 标准语法如下:

hive数据仓库新增字段方法

2、方法2 (适用于外部表)

当分区过多的情况下,直接使用alter就行增加字段会报错

第一步:删除分区 ,当分区过多可以写个for循环

alter table table_name drop if exists partition(par_col=col_name)

第二步:使用alter操作就行添加字段,这时候就不会因为分区过多报错

第三步:进行修复分区

msck repair table 表名;

3、方法3(下下策)

创建新表修改表名,进行存储原表数据

将原表进行drop,再对新表进行改名操作

ALTER TABLE old_name RENAME TO new_name;

修改字段

alter table table_name change column 已有列 修改名称 类型 comment '';

删除列

Hive不能直接删除列,不然底层系列化就乱了,我们可以通过replace语句来替换整张表的字段,达到同样的效果

alter table table_name replace columns(column_1 string);

语句中只写想要保留的字段就可以

以上就是hive中新增字段方法的详细内容,更多关于hive新增字段的资料请关注三水点靠木其它相关文章!


Tags in this post...

数据库 相关文章推荐
浅析InnoDB索引结构
Apr 05 MySQL
Mysql 性能监控及调优
Apr 06 MySQL
redis配置文件中常用配置详解
Apr 14 Redis
redis 查看所有的key方式
May 07 Redis
基于Redis延迟队列的实现代码
May 13 Redis
Mysql Online DDL的使用详解
May 20 MySQL
虚拟机linux端mysql数据库无法远程访问的解决办法
May 26 MySQL
MySQL 常见存储引擎的优劣
Jun 02 MySQL
ORACLE数据库应用开发的三十个注意事项
Jun 07 Oracle
浅析MongoDB之安全认证
Jun 26 MongoDB
MySQL中EXPLAIN语句及用法
May 20 MySQL
mysql sock 文件解析及作用讲解
Jul 15 MySQL
Hive导入csv文件示例
Jun 25 #数据库
Hive HQL支持2种查询语句风格
Jun 25 #数据库
Hive日期格式转换方法总结
Jun 25 #数据库
PostgreSQL怎么创建分区表详解
Jun 25 #PostgreSQL
Mysql中的触发器定义及语法介绍
Jun 25 #MySQL
Hive常用日期格式转换语法
Jun 25 #数据库
MySQL数据库配置信息查看与修改方法详解
Jun 25 #MySQL
You might like
php下尝试使用GraphicsMagick的缩略图功能
2011/01/01 PHP
判断Keep-Alive模式的HTTP请求的结束的实现代码
2011/08/06 PHP
一个PHP的ZIP压缩类分享
2014/05/04 PHP
不同浏览器对回车提交表单的处理办法
2010/02/13 Javascript
cnblogs中在闪存中屏蔽某人的实现代码
2010/11/14 Javascript
js字符串转换成数字与数字转换成字符串的实现方法
2014/01/08 Javascript
IE中鼠标经过option触发mouseout的解决方法
2015/01/29 Javascript
学习使用grunt来打包JavaScript和CSS程序的教程
2016/01/04 Javascript
详解JavaScript UTC时间转换方法
2016/01/07 Javascript
JavaScript代码实现左右上下自动晃动自动移动
2016/04/08 Javascript
BootStrap实现带关闭按钮功能
2017/02/15 Javascript
js实现下拉菜单效果
2017/03/01 Javascript
vue实现一个移动端屏蔽滑动的遮罩层实例
2017/06/08 Javascript
vue插件vue-resource的使用笔记(小结)
2017/08/04 Javascript
解读ES6中class关键字
2017/11/20 Javascript
Node.js折腾记一:读指定文件夹,输出该文件夹的文件树详解
2019/04/20 Javascript
[01:00:17]DOTA2-DPC中国联赛 正赛 SAG vs Dynasty BO3 第二场 1月25日
2021/03/11 DOTA
python访问系统环境变量的方法
2015/04/29 Python
Windows中安装使用Virtualenv来创建独立Python环境
2016/05/31 Python
Python实现求两个csv文件交集的方法
2017/09/06 Python
举例讲解Python常用模块
2019/03/08 Python
Python Request爬取seo.chinaz.com百度权重网站的查询结果过程解析
2019/08/13 Python
解决pycharm中opencv-python导入cv2后无法自动补全的问题(不用作任何文件上的修改)
2020/03/05 Python
详解python tcp编程
2020/08/24 Python
彻底搞懂python 迭代器和生成器
2020/09/07 Python
美国批发零售网站:GearXS
2016/07/26 全球购物
马德里竞技官方网上商店:Atletico Madrid Shop
2019/03/31 全球购物
阿联酋航空丹麦官方网站:Emirates DK
2019/08/25 全球购物
Tenstickers法国:墙贴和装饰贴纸
2019/08/26 全球购物
.NET remoting的两种通道是什么
2016/05/31 面试题
幼儿园教师培训方案
2014/02/04 职场文书
经营管理策划方案
2014/05/22 职场文书
材料化学专业求职信
2014/07/15 职场文书
盗窃案辩护词
2015/05/21 职场文书
宝葫芦的秘密观后感
2015/06/11 职场文书
单机多实例部署 MySQL8.0.20
2022/05/15 MySQL