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

数据库 相关文章推荐
MySQL入门命令之函数-单行函数-流程控制函数
Apr 05 MySQL
Redis如何一键部署脚本
Apr 12 Redis
MySQL 不等于的三种使用及区别
Jun 03 MySQL
分析mysql中一条SQL查询语句是如何执行的
Jun 21 MySQL
MySQL 发生同步延迟时Seconds_Behind_Master还为0的原因
Jun 21 MySQL
MySQL中存储时间的最佳实践指南
Jul 01 MySQL
Redis中缓存穿透/击穿/雪崩问题和解决方法
Dec 04 Redis
SQL Server实现分页方法介绍
Mar 16 SQL Server
SQLServer RANK() 排名函数的使用
Mar 23 SQL Server
Redis 哨兵机制及配置实现
Mar 25 Redis
解决Mysql中的innoDB幻读问题
Apr 29 MySQL
oracle数据库去除重复数据
May 20 Oracle
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
基于mysql的论坛(2)
2006/10/09 PHP
学习php设计模式 php实现抽象工厂模式
2015/12/07 PHP
php 开发中加密的几种方法总结
2017/03/22 PHP
phpMyAdmin无法登陆的解决方法
2017/04/27 PHP
jQuery autocomplete插件修改
2009/04/17 Javascript
jQuery学习笔记 操作jQuery对象 CSS处理
2012/09/19 Javascript
jQuery在html有效在jsp无效的原因及解决方法
2013/08/02 Javascript
JS实现根据当前文字选择返回被选中的文字
2014/05/21 Javascript
基于Angularjs实现分页功能
2016/05/30 Javascript
JavaScript动态添加事件之事件委托
2016/07/12 Javascript
js微信分享API
2020/10/11 Javascript
vue高德地图之玩转周边
2017/06/16 Javascript
利用Vue2.x开发实现JSON树的方法
2018/01/04 Javascript
详解基于Koa2开发微信二维码扫码支付相关流程
2018/05/16 Javascript
在vue中使用SockJS实现webSocket通信的过程
2018/08/29 Javascript
layer.open 获取不到表单信息的解决方法
2019/09/26 Javascript
深入理解redux之compose的具体应用
2020/01/12 Javascript
OpenLayer3自定义测量控件MeasureTool
2020/09/28 Javascript
[00:31]2016完美“圣”典风云人物:国士无双宣传片
2016/12/04 DOTA
Python实现自动为照片添加日期并分类的方法
2017/09/30 Python
Python实现PS滤镜碎片特效功能示例
2018/01/24 Python
python编写简易聊天室实现局域网内聊天功能
2018/07/28 Python
Python如何发布程序的详细教程
2018/10/09 Python
pytorch 调整某一维度数据顺序的方法
2018/12/08 Python
Python数据抓取爬虫代理防封IP方法
2018/12/23 Python
python 机器学习之支持向量机非线性回归SVR模型
2019/06/26 Python
Pycharm使用远程linux服务器conda/python环境在本地运行的方法(图解))
2019/12/09 Python
python 字典套字典或列表的示例
2019/12/16 Python
前台领班岗位职责
2013/12/04 职场文书
《胖乎乎的小手》教学反思
2014/02/26 职场文书
2014年五四青年节活动方案
2014/03/29 职场文书
小学向国旗敬礼活动方案
2014/09/27 职场文书
表彰大会新闻稿
2015/07/17 职场文书
小学记事作文之200字
2019/08/06 职场文书
委托开发合同书(标准版)
2019/08/07 职场文书
nginx配置ssl实现https的方法示例
2021/03/31 Servers