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 联合查询优化机制
May 10 MySQL
分析mysql中一条SQL查询语句是如何执行的
Jun 21 MySQL
SQLServer中JSON文档型数据的查询问题解决
Jun 27 SQL Server
mysql如何配置白名单访问
Jun 30 MySQL
Redis 彻底禁用RDB持久化操作
Jul 09 Redis
MongoDB日志切割的三种方式总结
Sep 15 MongoDB
SQL Server实现分页方法介绍
Mar 16 SQL Server
PostgreSQL事务回卷实战案例详析
Mar 25 PostgreSQL
MySQL 外连接语法之 OUTER JOIN
Apr 09 MySQL
关于mysql中string和number的转换问题
Jun 14 MySQL
SQL bool盲注和时间盲注详解
Jul 23 SQL Server
MySQL索引失效场景及解决方案
Jul 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 stream_context_create()作用和用法分析
2011/03/29 PHP
Thinkphp模板中截取字符串函数简介
2014/06/17 PHP
Eclipse的PHP插件PHPEclipse安装和使用
2014/07/20 PHP
div层的移动及性能优化
2010/11/16 Javascript
JS重要知识点小结
2011/11/06 Javascript
jquery中load方法的用法及注意事项说明
2014/02/22 Javascript
原生的html元素选择器类似jquery选择器
2014/10/15 Javascript
js判断图片加载完成后获取图片实际宽高的方法
2016/02/25 Javascript
JS简单循环遍历json数组的方法
2016/04/22 Javascript
javascript中Date对象的使用总结
2016/11/21 Javascript
深入理解vue.js双向绑定的实现原理
2016/12/05 Javascript
ES6新数据结构Set与WeakSet用法分析
2017/03/31 Javascript
AngularJS页面带参跳转及参数解析操作示例
2017/06/28 Javascript
vuex提交state&&实时监听state数据的改变方法
2018/09/16 Javascript
vue-cli3.0 脚手架搭建项目的过程详解
2018/10/19 Javascript
Node.js Windows Binary二进制文件安装方法
2019/05/16 Javascript
简单介绍利用TK在Python下进行GUI编程的教程
2015/04/13 Python
利用Python实现命令行版的火车票查看器
2016/08/05 Python
详解Python import方法引入模块的实例
2017/08/02 Python
python的pip安装以及使用教程
2018/09/18 Python
Python3实现腾讯云OCR识别
2018/11/27 Python
使用Windows批处理和WMI设置Python的环境变量方法
2019/08/14 Python
在服务器上安装python3.8.2环境的教程详解
2020/04/26 Python
UI自动化定位常用实现方法代码示例
2020/10/27 Python
python爬虫快速响应服务器的做法
2020/11/24 Python
使用python将微信image下.dat文件解密为.png的方法
2020/11/30 Python
CSS3中border-radius属性设定圆角的使用技巧
2016/05/10 HTML / CSS
解决CSS3的opacity属性带来的层叠顺序问题
2016/05/09 HTML / CSS
5分钟让你掌握css3阴影、倒影、渐变小技巧(小编推荐)
2016/08/15 HTML / CSS
Betsey Johnson官网:妖娆可爱的连衣裙及鞋子、手袋和配件
2016/12/30 全球购物
英国体育器材进口商店:UK Sport Imports
2017/03/14 全球购物
EQVVS官网:设计师男装和女装
2018/10/24 全球购物
房地产销售计划书
2014/01/10 职场文书
优秀毕业生求职信
2014/06/05 职场文书
群众路线党员个人剖析材料
2014/10/08 职场文书
学校食品安全责任书
2015/01/29 职场文书