首页 > 解决方案 > Hive 在 VARCHAR 中更改表列大小

问题描述

我是 Hive 的新手,几个月前我在下面创建了一个表格

create table TableName 
(
    EntityRelationship varchar(20), 
    EntityID varchar(50), 
    EntityName varchar(50), 

    CLUSTERED BY (EntityID) INTO 60 BUCKETS STORED AS ORC
)

然而,现在我已经意识到EntityName Varchar(50)它需要的还不够Varchar(250)。我发现了更改表代码,但它们都没有改变列的大小,而是改变了类型和名称。

我也不能 DROP 表,因为它已经有很多数据,这意味着我必须每天重新加载过去的几个月。

我希望将结束表描述如下

create table TableName 
( 
    EntityRelationship varchar(20), 
    EntityID varchar(50), 
    EntityName varchar(250), 
    CLUSTERED BY (EntityID) INTO 60 BUCKETS STORED AS ORC
)

有没有我可以在EntityName varchar(250)不删除表的情况下更改这个现有的表?珍惜你的时间。谢谢

标签: datatablehivesizevarcharalter-table

解决方案


ALTER TABLE table_name ALTER COLUMN column_name TYPE varchar(250);

这可能有帮助吗


推荐阅读