遇到的问题:

今天给一个hive表增加一个新字段,使用如下语句

alter table  industry_db.product
add columns(industry_id string comment ‘行业id);

hive数据库表,显示了新增加的字段,我以为添加成功。但如果hive数据表p_date="20200306" 已经有旧的分区 的industry_id将为空且无法更新,即便insert overwrite该分区也不会生效。

但是这种方法还在 新的分区生效,就是以前没运行过的分区。比如我们把p_date作为分区标识符,今天是20200306这个分区。如果在20200307这个分区就可以,但是在20200306已经运行过的分区就不行。

解决方法:

解决方法需要在增加industry_id时加上cascade关键字。新增字段含义如下:

cascade为“级联”,不仅变更新分区的表结构(metadata),同时也变更旧分区的表结构。

alter table  industry_db.product
add columns(industry_id string comment ‘行业id) cascade;

如果已经执行添加操作,并且没有带cascade,可以尝试下面的方法:

1、使用replace 恢复表结构,这样历史的分区数据都不会消失
alter table industry_db.product replace
columns(product_name string comment ‘产品名’);
2、然后再使用带cascade添加字段

hive replace_Hive新增字段(column)后,旧分区无法更新数据问题相关推荐

  1. hive分区用2个字段有何限制_[Hive]新增字段(column)后,旧分区无法更新数据问题...

    问题描述: 实际应用中,常常存在修改数据表结构的需求,比如:增加一个新字段. 如果使用如下语句新增列,可以成功添加列col1.但如果数据表tb已经有旧的分区(例如:dt=20190101),则该旧分区 ...

  2. hive表新增字段和字段注释修改

    hive表新增字段,修改字段的注释 (1)创建测试表: use mart_flow_test; create table if not exists mart_flow_test.detail_flo ...

  3. es重建字段类型_关于elasticsearch中更新数据的几种方式

    作为一个成熟的框架,Elasticsearch里面提供了丰富的操作数据的api,本篇我们就来学习一下在es中更新数据的几种方式. (一)更新文档 (1)部分更新: java api: ` HashMa ...

  4. arcgis server发布shp服务实现数据库更新后服务也相应更新数据

    arcgis server发布shp服务实现数据库与服务同步更新数据 1 前言 2 shp文件条件准备>使用arc Map 打开shp文件 3 托管关联数据库 4 发布服务 1 前言 现在有一个 ...

  5. Django讲课笔记09:使用QuerySet新增和更新数据

    文章目录 零.本讲学习目标 一.课程导入 二.新课讲授 (一)Shell模式新增数据 1.使用实例化 - 赋值 - save新增数据 2.使用create新增数据 3.使用字典与create新增数据 ...

  6. hive3新增資料_Hive表新增字段后,新字段无法写入值问题总结

    问题描述 今天同事让我把订单表新增一个字段,我新增好字段后,重跑脚本,验证数据的时候发现新增加的那个字段的值都是NULL.脚本通过insert overwrite覆盖T+1的历史数据. 新增字段的sq ...

  7. hive、pg库:新增字段、修改字段类型 alter table

    hive新增字段: alter table dwa.A_DS_INACTIVE_MODEL_D add columns (model5lr_prob double COMMENT 'model5lr_ ...

  8. hive查看一张表的分区字段_Hive表的分区与分桶

    1.Hive分区表 Hive使用select语句进行查询的时候一般会扫描整个表内容,会消耗很多时间做没必要的工作.Hive可以在创建表的时候指定分区空间,这样在做查询的时候就可以很好的提高查询的效率. ...

  9. Oracle数据库在指定字段后新增字段

    记录一下数据库中为表增加字段,且在指定字段后新增: mysql数据库的话比较简单通过一下sql语句即可实现: -- 为表t在B字段后新增字段 alter table t add column fild ...

  10. EAS BOS 新建单据后新增字段

    EAS BOS 新建单据后新增字段 1.在新建的单据界面上单击右键,选择字段管理,然后出现下图界面,然后点击新增字段 2.因为每个字段的类型不一样,所以选择的时候需要注意. F7基础资料 类型 已有基 ...

最新文章

  1. 深入解析String#intern
  2. java中char类型_【考点】JAVA中的char类型
  3. 高薪寻人 | 2018 “神策杯”高校算法大师赛 6 强诞生,【招人】进行时……
  4. [密码学基础][每个信息安全博士生应该知道的52件事][Bristol Cryptography][第10篇]RSA和强RSA问题有什么区别
  5. 1.UNIX网络编程卷1:源码配置
  6. Apocalypse Someday(POJ-3208)
  7. svn主干开辟分支、分支合并到主干
  8. 高通平台如何新增加一个分区,并mount到android系统中
  9. 3DMAX、MAYA、C4D区别
  10. html caption属性,HTML caption align 属性 | 菜鸟教程
  11. 双绞线接法详解双绞线的标准的由来与分析
  12. ik分词 动态增加词库 mysql_Elasticsearch7.8.0集成IK分词器改源码实现MySql5.7.2实现动态词库实时更新...
  13. 优矿量化向导式因子选股
  14. riscv-sodor-rv32_1stage(2)
  15. Python爬虫——Urllib
  16. TensorFlow CRNN
  17. 全球与中国厂内物流自动化市场深度研究分析报告
  18. 全球及中国航空机电开关行业重点领域需求及未来发展展望报告2022-2028年
  19. (算法)通俗易懂的字符串匹配KMP算法及求next值算法
  20. IE 10 禁用多点触摸放大缩小页面

热门文章

  1. 高级网络配置+Ipv6
  2. 站点技术---301重定向
  3. 软件测试,从零开始:测试新手入门必读
  4. 面试突击41:notify是随机唤醒吗?
  5. Assimp Android 编译
  6. 黄聪:WordPress默认编辑器可视化切换不见了,非插件导致消失问题
  7. 常见Sqlite管理工具
  8. Refactoring Page Head
  9. kmem_cache_alloc核心函数slab_alloc_node的实现详解
  10. Android 四大组件学习之Activity一