Hive表中修改列位置,更改类型、移动位置(impala支不支持更改位置)

您所在的位置:网站首页 hive改变表字段类型 Hive表中修改列位置,更改类型、移动位置(impala支不支持更改位置)

Hive表中修改列位置,更改类型、移动位置(impala支不支持更改位置)

2024-07-09 14:06| 来源: 网络整理| 查看: 265

Hive表中修改列位置,更改类型、移动位置 Hive

目标:在hive中实现在指定位置添加列

背景:hive中添加新列时会默认在最后一列依次添加,无法同mysql一样可以指定位置。

解决方法:首先在hive中添加列(此时是默认在最后一列的);然后再通过移动位置的指令将新列移动到指定位置。

附:

m

ysql在指定位置添加列的指令: mysql> alter table t1 add column student varchar(20) not null after class; 如果想添加到第一列的话,可以用: mysql> alter table t1 add column student varchar(20) not null first; hive添加列的指令: hive> alter table t1 add columns student varchar(20) not null; hive修改列的指令: •ALTER TABLE table_name CHANGE [COLUMN] col_old_name col_new_name column_type [COMMENT col_comment] [FIRST|AFTER column_name]

•这个命令可以允许改变列名、数据类型、注释、列位置或者它们的任意组合

举例:

表t1 id int class varchar num double

1)首先,添加列(此时是默认在最后一列的)

hive> alter table t1 add columns student varchar(20) not null;

改之后–表t1

id int class varchar num double student varchar

2)然后再通过移动位置的指令将新列移动到class后面。

hive> ALTER TABLE t1 CHANGE column student student varchar(20) comment '学生姓名' AFTER class;

改之后—表t1

id int class varchar student varchar num double

注意:由于hive文件并没有修改,只是相当于修改了字段名字而已,数据并没有相应的移动。

因此,此方法适用于已建表,后续会重新刷新数据的情况;或者空表。

注意:impala是不支持更改列的位置的



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3