Hive的联级(cascade)- 修改分区表的字段类型或者增加新字段

2023-11-16

一、问题描述

踩坑:数仓的分区表,由于需求需要,要把int类型的字段改为bigint,我直接执行的以下语句:

      alter table table_name change column 字段 字段 bigint;

出现的问题:之后的分区数据可以正常的显示,历史数据查出来的数据为0,无论insert overwrite重新导数据、把有问题的分区数据删掉都不能正常显示。


尝试了在原来基础上执行:alter table table_name change column 字段 字段 bigint cascade; 也不行

二、问题解决

方法:把修改过类型的表drop掉,然后将hdfs上的分区目录文件删掉。
    
执行命令:      drop table table_name;
                hadoop fs -rm -r + hdfs文件路径

最后所有的历史数据重新加载,

Tips:由于我的分区个数少,且历史数据量少,所以我这么做了。
    

三、最佳问题解决

在我们执行更改字段类型、增加字段时,在语句末尾加上cascade就ok了,要不然很麻烦

alter table table_name change column 字段 字段 bigint cascade;

四、cascade知识

1.cascade的中文翻译为“级联”,也就是不仅变更新分区的表结构(metadata),同时也变更旧分区的表结构。

2.对于删除操作也是,级联删除表中的信息,当表A中的字段引用了表B中的字段时,一旦删除B中该字段的信息,表A的信息也自动删除。(当父表的信息删除,子表的信息也自动删除)

3.标准语法如下:

 

 

 

 

 

 

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Hive的联级(cascade)- 修改分区表的字段类型或者增加新字段 的相关文章

随机推荐

  • 龙芯2k1000la之固态硬盘重新分区

    当我们想为系统安装一些配置后发现我们想要安装到的磁盘分区满了时我们可以对固态硬盘进行重新分区 如下以up重装系统时 新系统压缩包太大无法在sda1解压为例 当我将 dev sda1挂载到disk文件夹并想要解压新系统时 提示该设备上已经没有
  • idea 注册码 在线生成方式

    已经有前辈搞了一个在线网站了 直接生成即可的 http idea iteblog com
  • python request 爬虫爬取起点中文网小说

    1 网页分析 进入https www qidian com 点击全部 进行翻页 你就会发现一个规律 url https www qidian com all orderId style 1 pageSize 20 siteid 1 pubf
  • Windows下安装GPU版本的PyTorch(防踩坑)

    预言 防踩坑 恭喜你 比较幸运 安装GPU版本的PyTorch找到了此博文 博主最初因操作不利 由于自身轻微强迫症 完美主义强行刷机重装系统两次 再次声明 用于NLP中的GPU加速 不用单独安装VS CUDA cuDNN 请耐心看此博文 两
  • [牛客网]oj输入输出练习

    a b 多组 import java util public class Main public static void main String args Scanner scanner new Scanner System in Arra
  • 创建Google play开发者账号,并验证身份通过

    一 注册前准备 最好准备一台没有怎么用过Google的电脑和 准备一个没有注册过Google的手机号 准备一张信用卡或者借记卡 需要支付 25 支持的类型如下图 这里还需注意 最后账号注册成功还需要验证身份也就是实名认证 那么Google去
  • 在Windows Server上使用IIS部署Python-Flask项目

    1 安装Flask与wfastcgi pip install Flask pip install wfastcgi 1 python安装wfastcgi并激活 2 进入python安装目录下的scripts文件夹然后运行wfastcgi e
  • 15黑马笔记之二叉树的递归遍历求叶子节点数

    15黑马笔记之二叉树的递归遍历求叶子节点数 1 思想 对每一个节点遍历其左右孩子 若都为空 则是叶子节点 递归结束条件 传进的节点不为空 代码基本只是在递归遍历的基础上加了统计叶子数的变量 2 具体代码实现 例子 include
  • nginx 反向代理 ssh连接办公室win电脑

    1 生产密钥免密连接服务器 ssh keygen 复制win电脑上的 ssh id rsa pu到服务器 root ssh 目录下 cat id rsa pub gt gt authorized keys sudo chmod 600 au
  • windows11安装wsl2(linux)+VScode+ miniconda+TVM+python环境部署

    在wsl上运行 TVM demo 环境配置 预备加速工具 vpn 清华镜像 第一次安装 失败 1 Windows11 D盘安装wls linux 2 安装vscode并连接到WSL2 3 wsl 安装miniconda 4 wls安装TVM
  • JavaSE基础学习

    JavaSE基础笔记 锦苏的个人笔记 首先声明 这个笔记是根据韩顺平老师 讲的Java课程全程来学习并且做笔记的 如果各位小伙伴们 需要从事Java行业那么从开始决定学习了 就不要放弃 三天打鱼两天晒网这是我的真实写照 我希望不是大家的真实
  • openwrt恢复默认设置

    如果通过无线或者有线口无法连接到router 可以用恢复某些设置重新设置路由器 1 开机 等着一个工作灯亮的时候立即按下rest键2秒 然后就开始拼命闪烁 很好现在进入failsafe模式了 2 设置电脑的ip为静态ip 192 168 1
  • 数据库中的binlog、redolog、undolog的区别

    binlog二进制日志是mysql server层的 主要是做主从复制 时间点恢复使用 redo log重做日志是InnoDB存储引擎层的 用来保证事务安全 undo log回滚日志保存了事务发生之前的数据的一个版本 可以用于回滚 同时可以
  • 线程池之阻塞主线程,等子线程全部跑完之后,执行主线程

    在spark中有异步多线程的需求 需要阻塞主线程 等所有子线程都执行完成后 主线程继续执行 如果是用Thread 不太好实现 用Callable FutrueTask结合线程池 可以快速实现 final AtomicInteger mess
  • 基于Java+SSM项目的计算机毕业设计-毕业生离校管理系统项目实战(附论文+源码)

    大家好 我是职场程序猿 感谢您阅读本文 欢迎一键三连哦 当前专栏 Java毕业设计 精彩专栏推荐 安卓app毕业设计 微信小程序毕业设计 演示视频 ssm147毕业生离校离校管理系统演示 源码下载地址 https download csdn
  • 数论算法:唯一因子分解定理

    这里讲一下算法中常用到的唯一因子分解定理 合数a仅能以一种方式写成如下乘积形式 a p1 e1 p2 e2 pr er 其中pi为素数 p1
  • Vue基本知识1,安装创建以及常用指令

    Vue基本知识1 安装创建以及常用指令 1 Vue的概念 概念 vue是一个渐进式的JavaScript开发框架 基于MVVM实现数据驱动的框架 官网 还可以用来做SPA single page web application 一个网页就是
  • Qt udp数据发送太快,数据丢失

    Qt 在单线程中 如果数据发送太快 应用程序还在处理别的程序 就会触发不了readyRead信号 导致造成数据的丢失 解决方法可以将udp处理类继承于QThread 在多线程入口run函数里通过死循环接收数据 通过信号槽机制通知处理函数进行
  • 微信小程序&PHP 改变小程序码中间logo的方法

    需求 获取小程序码 小程序码中间logo换成用户头像 仔细看了小程序本身的程序 没有发现好的方法 如果有 不吝赐教呀 所以改变方法 把头像传回后台 使用 php gd库在后台操作 然后传回小程序端 初始数据准备 define PATH op
  • Hive的联级(cascade)- 修改分区表的字段类型或者增加新字段

    一 问题描述 踩坑 数仓的分区表 由于需求需要 要把int类型的字段改为bigint 我直接执行的以下语句 alter table table name change column 字段 字段 bigint 出现的问题 之后的分区数据可以正