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三种高可用方式部署的实现
May 11 Redis
Redis延迟队列和分布式延迟队列的简答实现
May 13 Redis
MySQL时间盲注的五种延时方法实现
May 18 MySQL
MySQL中InnoDB存储引擎的锁的基本使用教程
May 26 MySQL
MongoDB 常用的crud操作语句
Jun 20 MongoDB
你真的了解redis为什么要提供pipeline功能
Jun 22 Redis
MySQL表锁、行锁、排它锁及共享锁的使用详解
Apr 02 MySQL
MongoDB修改oplog大小的四种方法
Apr 11 MongoDB
Redis实战高并发之扣减库存项目
Apr 14 Redis
Redis 异步机制
May 15 Redis
MySQL主从切换的超详细步骤
Jun 28 MySQL
MySql按时,天,周,月进行数据统计
Aug 14 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 array_intersect比array_diff快(附详细的使用说明)
2011/07/03 PHP
php和javascript之间变量的传递实现代码
2012/12/19 PHP
php抓取并保存网站图片的实现代码
2015/10/28 PHP
jQuery中extend函数的实现原理详解
2015/02/03 Javascript
五种js判断是否为整数类型方式
2015/12/03 Javascript
全面理解JavaScript中的闭包
2016/05/12 Javascript
jQuery 全选 全部选 反选 实现代码
2016/08/17 Javascript
总结AngularJS开发者最常犯的十个错误
2016/08/31 Javascript
JSON字符串和JSON对象相互转化实例详解
2017/01/05 Javascript
基于JavaScript实现新增内容滚动播放效果附完整代码
2017/08/24 Javascript
jQuery UI Draggable + Sortable 结合使用(实例讲解)
2017/09/07 jQuery
vue-cli中的babel配置文件.babelrc实例详解
2018/02/22 Javascript
浅谈Vuex注入Vue生命周期的过程
2019/05/20 Javascript
详解express使用vue-router的history踩坑
2019/06/05 Javascript
跟老齐学Python之有容乃大的list(2)
2014/09/15 Python
Python实现建立SSH连接的方法
2015/06/03 Python
用Python的Flask框架结合MySQL写一个内存监控程序
2015/11/07 Python
Python Web框架Tornado运行和部署
2020/10/19 Python
django开发之settings.py中变量的全局引用详解
2017/03/29 Python
Python实现Linux中的du命令
2017/06/12 Python
Python3.5基础之变量、数据结构、条件和循环语句、break与continue语句实例详解
2019/04/26 Python
Python3.5 + sklearn利用SVM自动识别字母验证码方法示例
2019/05/10 Python
详解python编译器和解释器的区别
2019/06/24 Python
简单了解Python3 bytes和str类型的区别和联系
2019/12/19 Python
Pycharm+Python工程,引用子模块的实现
2020/03/09 Python
css3隔行变换色实现示例
2014/02/19 HTML / CSS
信息服务专业毕业生求职信
2014/03/02 职场文书
酒鬼酒广告词
2014/03/21 职场文书
行政专员岗位职责范本
2014/08/26 职场文书
信用卡逾期证明示例
2014/09/13 职场文书
2015元旦文艺汇演主持稿(开场白+结束语)
2014/12/14 职场文书
2015年维修工作总结
2015/04/25 职场文书
新闻发布会新闻稿
2015/07/17 职场文书
《社戏》教学反思
2016/02/22 职场文书
初三语文教学反思
2016/03/03 职场文书
Redis的字符串是如何实现的
2021/10/24 Redis