Hive修改字段类型_hive表添加字段sql

Hive修改字段类型_hive表添加字段sqlhive修改字段类型语句:altertable表名changecolumn原字段名新字段名字段类型;altertableuser_chainchangecolumnu_registeru_registedate;(u_register原类型为string类型)这样修改会报一个错误:FAILED:ExecutionError,returncode1fro…

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE使用 1年只要46元 售后保障 童叟无欺

hive修改字段类型语句:alter table 表名 change column 原字段名 新字段名 字段类型;
alter table user_chain change column u_register u_registe date;(u_register原类型为string类型)
这样修改会报一个错误:
FAILED: Execution Error, return code 1 from org.apache.hadoop.hive.ql.exec.DDLTask. Unable to alter table. The following columns have types incompatible with the existing columns in their respective positions :
u_registe
原因分析:hive内部的类型转换的限制。总结为:
1、我们能够修改整型字段为double类型字段,因为double类型能够承载整型数据,
但是我们修改double类型字段为整型字段会有问题,因为整型字段不能够满足double数据
2、任何类型基本都可以转为字符串,任何double、float、int类型的数据都可以作为字符串处理
3、数据类型的转换为转换后的数据不会截断原来的数据

如果只想改变列的类型而不关心数据的准确性,可以设置set hive.metastore.disallow.incompatible.col.type.changes=false;

新增字段表

alter table 表名 add columns(字段名 数据类型)

修改表的字段顺序
ALTER TABLE t1 CHANGE column student student varchar(20) comment ‘学生姓名’ AFTER class;
这种修改的做法不建议用,只是逻辑上修改了字段,物理上并没有变化,对特定情况下的表有一定影响

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/196871.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • WireShark 过滤语法

    WireShark 过滤语法

    2021年8月15日
    78
  • spring源码搭建_手赚网最新源码

    spring源码搭建_手赚网最新源码目录楔子Spring源码下载github下载gitee下载将项目导入开发工具选择版本为5.2.x修改IDEA中Gradle配置如下确认IDEA中的Kotlin是否生效添加阿里云镜像Reload项目耐心等待编译完成新建Gradle模块楔子学习Spring源码有两种方式,一种是直接引入Spring依赖,读静态源码或者调试;一种是自己编译Spring源码。小七觉得如果想要更好的理解Spring源码,自己编译Spring源码是很有必要的,一方面我们可以修改源码,方便调试验证我

    2022年8月12日
    5
  • docker中Jenkins安装allure和使用,bash: allure: command not found

    docker中Jenkins安装allure和使用,bash: allure: command not found我的docker中的Jenkins是已经安装allure了的,但是jenkins提示:bash:allure:commandnotfound。原来是我是通过管理员进入jenkins容器安装了allure的,而jenkins是以普通用户去运行的,所以我又以普通用户登录安装allure还是提示:bash:allure:commandnotfound。因为每次jenkins启动都是不同的用户备注:docker中jenkins安装allure可以参考这个链接:https://mp.c

    2022年7月26日
    30
  • php类自动载入

    php类自动载入

    2022年3月12日
    50
  • kettle工具中嵌入java代码_kettle设置变量

    kettle工具中嵌入java代码_kettle设置变量Java调用Kettle工具方法/***Java调用Kettle工具类**@classnameKettleUtil*@date2020/3/2416:24*/publicfinalclassKettleUtil{privatestaticfinalLoggerlog=LoggerFactory.getLogger(KettleUt…

    2022年10月16日
    3
  • Dijkstra的最短路径算法

    Dijkstra的最短路径算法Givenagraphandasourcevertexinthegraph,findshortestpathsfromsourcetoallverticesinthegivengraph.Dijkstra’salgorithmisverysimilartoPrim’salgorithmforminimumspanningtree….

    2022年5月15日
    34

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号