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...

数据库 相关文章推荐
浅谈redis五大数据结构和使用场景
Apr 12 Redis
mysql 8.0.24 安装配置方法图文教程
May 12 MySQL
如何使用PostgreSQL进行中文全文检索
May 27 PostgreSQL
MySQL快速插入一亿测试数据
Jun 23 MySQL
MySQL 条件查询的常用操作
Apr 28 MySQL
MySQL 数据 data 基本操作
May 04 MySQL
MySQL数据库 任意ip连接方法
May 20 MySQL
Mysql数据库事务的脏读幻读及不可重复读详解
May 30 MySQL
Redis基本数据类型List常用操作命令
Jun 01 Redis
MySQL如何修改字段类型和字段长度
Jun 10 MySQL
MySQL常用慢查询分析工具详解
Aug 14 MySQL
MySQL下载安装配置详细教程 附下载资源
Sep 23 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下载文件的详解
2013/06/02 PHP
php通过正则表达式记取数据来读取xml的方法
2015/03/09 PHP
网页里控制图片大小的相关代码
2006/06/25 Javascript
清华大学出版的事半功倍系列 javascript全部源代码
2007/05/04 Javascript
js随机颜色代码的多种实现方式
2013/04/23 Javascript
比较不错的JS/JQuery显示或隐藏文本的方法
2014/02/13 Javascript
JavaScript Array对象扩展indexOf()方法
2014/05/09 Javascript
Jquery 获取指定标签的对象及属性的设置与移除
2014/05/29 Javascript
javascript正则表达式参数/g与/i及/gi的使用指南
2014/08/27 Javascript
Javascript常用字符串判断函数代码分享
2014/12/08 Javascript
jQuery的remove()方法使用详解
2015/08/11 Javascript
跟我学习javascript的函数调用和构造函数调用
2015/11/16 Javascript
javascript截图 jQuery插件imgAreaSelect使用详解
2016/05/04 Javascript
Bootstrap Metronic完全响应式管理模板学习笔记
2016/07/08 Javascript
js实现淡入淡出轮播切换功能
2017/01/13 Javascript
关于bootstrap日期转化,bootstrap-editable的简单使用,bootstrap-fileinput的使用详解
2017/05/12 Javascript
关于Angularjs中跨域设置白名单问题
2018/04/17 Javascript
jquery 动态遍历select 赋值的实例
2018/09/12 jQuery
element-ui组件table实现自定义筛选功能的示例代码
2019/03/15 Javascript
[01:20:47]DOTA2-DPC中国联赛 正赛 Ehome vs Magma BO3 第一场 1月19日
2021/03/11 DOTA
Python使用matplotlib绘制正弦和余弦曲线的方法示例
2018/01/06 Python
基于python 处理中文路径的终极解决方法
2018/04/12 Python
Python实现数据可视化看如何监控你的爬虫状态【推荐】
2018/08/10 Python
Python中栈、队列与优先级队列的实现方法
2019/06/30 Python
怎么解决pycharm license Acti的方法
2020/10/28 Python
Python tkinter实现日期选择器
2021/02/22 Python
英国助听器购物网站:Hearing Direct
2018/08/21 全球购物
百度JavaScript笔试题
2015/01/15 面试题
师范应届生语文教师求职信
2013/10/29 职场文书
销售员求职个人的自我评价
2014/02/19 职场文书
社区服务活动报告
2015/02/05 职场文书
2015年团支书工作总结
2015/04/03 职场文书
搭讪开场白台词大全
2015/05/28 职场文书
导师鉴定意见
2015/06/05 职场文书
golang 如何用反射reflect操作结构体
2021/04/28 Golang
Java死锁的排查
2022/05/11 Java/Android