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)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

发表回复

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

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