当前位置: 首页 > news >正文

网站设计 专业国内购物网站排名

网站设计 专业,国内购物网站排名,网线制作实训报告,腾讯云 wordpress上传Hive分区表新增字段并指定位置 1、Hive分区表新增字段2、CASCADE关键字3、历史分区新增列为NULL问题 1、Hive分区表新增字段 Hive分区表新增字段并指定位置主要分为两步#xff1a;新增字段和移动字段 1#xff09;新增字段 ALTER TABLE table_name ADD COLUMNS (col_name … Hive分区表新增字段并指定位置 1、Hive分区表新增字段2、CASCADE关键字3、历史分区新增列为NULL问题 1、Hive分区表新增字段 Hive分区表新增字段并指定位置主要分为两步新增字段和移动字段 1新增字段 ALTER TABLE table_name ADD COLUMNS (col_name data_type [COMMENT col_comment], ...) [CASCADE|RESTRICT];该命令允许用户将新列添加到现有列的末尾但在分区列之前 ADD COLUMNS命令只修改Hive的元数据不修改实际数据。用户应该确保表/分区的实际数据布局符合元数据定义 2更改移动字段 ALTER TABLE table_name CHANGE [COLUMN] col_old_name col_new_name column_type [COMMENT col_comment] [FIRST|AFTER column_name] [CASCADE|RESTRICT];该命令允许用户更改列的名称、数据类型、注释或位置或它们的任意组合 CHANGE COLUMN命令只修改Hive的元数据不修改实际数据。用户应该确保表/分区的实际数据布局符合元数据定义 以下是一些示例 CREATE TABLE test_change (a int, b int, c int);// 将列a的名称更改为a1 ALTER TABLE test_change CHANGE a a1 INT;// 将列a1的名称更改为a2数据类型更改为string并将其放在列b后 ALTER TABLE test_change CHANGE a1 a2 STRING AFTER b; // 新表的结构b int, a2 string, c int// 将列c的名称更改为c1并放在第一列 ALTER TABLE test_change CHANGE c c1 INT FIRST; // 新表的结构c1 int, b int, a2 string// 给列a1添加注释 ALTER TABLE test_change CHANGE a1 a1 INT COMMENT a1 comment;2、CASCADE关键字 CASCADE中文为级联顾名思义就是有联系的。Hive官网对CASCADE关键字的描述如下 CASCADE/RESTRICT子句在Hive 1.1.0中可用。CHANGE COLUMN CASCADE命令修改表元数据的列并将相同的更改级联到所有分区元数据。RESTRICT是默认值它只限制对表元数据的列更改 CHANGE COLUMN CASCADE子句将覆盖表分区的列元数据而不管表或分区的保护模式如何请谨慎使用 详情参考官网https://cwiki.apache.org/confluence/pages/viewpage.action?pageId27362034#LanguageManualDDL-AlterColumn 什么意思呢下面以一个示例演示不加CASCADE与添加CASCADE的区别 1数据准备 create table test_cascade (id bigint, name string) partitioned by (dt string); insert into table test_cascade partition (dt2024-11-01) values (1, a); insert into table test_cascade partition (dt2024-12-01) values (2, b); select * from test_cascade;id name dt 1 a 2024-11-01 2 b 2024-12-012不加CASCADE alter table test_cascade add columns (age int); insert into table test_cascade partition (dt2024-11-01) values (1,a,19); insert into table test_cascade partition (dt2024-12-01) values (2,b,18); insert into table test_cascade partition (dt2025-01-01) values (3,c,20); select * from test_cascade;id name age dt 1 a NULL 2024-11-01 1 a NULL 2024-11-01 2 b NULL 2024-12-01 2 b NULL 2024-12-01 3 c 20 2025-01-013添加CASCADE alter table test_cascade add columns (age int) cascade; insert into table test_cascade partition (dt2024-11-01) values (1,a,19); insert into table test_cascade partition (dt2024-12-01) values (2,b,18); insert into table test_cascade partition (dt2025-01-01) values (3,c,18); select * from test_cascade;id name age dt 1 a NULL 2024-11-01 1 a 19 2024-11-01 2 b NULL 2024-12-01 2 b 18 2024-12-01 3 c 20 2025-01-01据此可得如下结论 不加CASCADE插入数据时已存在数据的分区新增字段值为NULL无数据的分区新增字段值可以插入成功添加CASCADE插入数据时已存在数据的分区和无数据的分区新增字段值都可以插入成功 即就是默认RESTRICT只变更新分区的表结构新分区元数据而CASCADE不仅变更新分区的表结构新分区元数据同时也级联变更旧分区的表结构旧分区元数据 3、历史分区新增列为NULL问题 实际应用中通常会存在修改表结构的需求例如增加一个字段 如果使用如下语句新增列 ALTER TABLE table_name ADD COLUMNS (col_name data_type [COMMENT col_comment]);则可以成功添加列col_name但如果数据表table_name中已有旧的分区则该旧分区中的col_name将为NULL且无法更新即使使用INSERT OVERWRITE也无效 出现这个问题的原因就是没有使用CASCADE关键字导致的。CASCADE不仅可以变更新分区的表结构元数据同时也会级联变更旧分区的表结构元数据 解决方法也很简单只需要在原语句后面添加CASCADE关键字即可 ALTER TABLE table_name ADD COLUMNS (col_name data_type [COMMENT col_comment]) CASCADE;针对分区表新增字段不加CASCADE关键字时对于历史分区新插入的数据新增的列数据都会显示为NULL其它已有列的数据则显示正常 值得注意的是如果还需要更改新增列的位置也需要使用CASCADE关键字 ALTER TABLE table_name CHANGE [COLUMN] col_name col_name data_type [COMMENT col_comment] AFTER column_name CASCADE;另外如果存储格式为Parquet那么该新增列的数据都将为NULL如果为TextFile格式则不会出现这种情况 参考文章https://blog.csdn.net/sx157559322/article/details/131950817
http://www.dnsts.com.cn/news/233789.html

相关文章:

  • 云南哪有网站建设推广如何用图片做网站背景
  • 有用node.js做的网站吗深圳医学科学院
  • 应用下载app排行榜阳江企业网站排名优化
  • 导视标识设计石家庄seo优化
  • 2021给个最新网站设计网站建站
  • 怎么用默认程序做网站wordpress主题Linkedin
  • 网站主机有什么用有电脑网站怎样建手机号码
  • 外贸网站哪家好360网站图标怎么做的
  • 商洛网站建设哪家好做生意在哪个网站做
  • 三网合一网站建设合同开发一个app多少钱
  • 阿里百川 网站开发wordpress折叠代码
  • 站酷网素材图库免费下载阿里巴巴官网首页1688
  • 什么类型的网站无投入网站推广
  • 中介网站设计手机网页代码
  • 网站建设发布教程视频一级a做爰视频安全网站
  • 二级域名网站免费申请wordpress 后台精简
  • 做淘宝浏览单的网站ip加端口可以做网站吗
  • 网站的种类有哪些做淘客的网站都有哪几个
  • 波兰网站后缀上海做网站价格
  • 成都企业网站优化服务网站怎样秒收录
  • 制作网站首页分为哪几部分深圳网站建设设计科技有限公司
  • 个人网站制作的选题意义成都圣都装饰装修公司
  • 宁波网站推广优化公司wordpress 文章访问量
  • 在网站中写小说想要删除如何做郴州市人力资源考试网
  • 微信公众平台开发微网站企业网站背景颜色
  • 如何维护自己公司网站网站运营工作的内容
  • 做百度网站电话号码古镇小企业网站建设
  • 北京示范校建设网站输入网站查看空间
  • 国外做设计的网站东营网站建设tt0546
  • 站长平台网站郑州网站建设郑州网站建设七彩科技