【发布时间】:2015-11-16 11:24:18
【问题描述】:
是否可以为已经包含数据的表创建分桶和分区?我在配置单元中有一个超过 100M 记录的表,我想在表上创建一个分区。我还需要创建分桶。
有可能吗?
谢谢, 巴拉
【问题讨论】:
-
由于partition和bucket对数据进行了分类,这对包含数据的表不起作用,所以alter命令不起作用。
-
创建另一个带有分桶和分区的表,并将该表中的数据插入到新表中
是否可以为已经包含数据的表创建分桶和分区?我在配置单元中有一个超过 100M 记录的表,我想在表上创建一个分区。我还需要创建分桶。
有可能吗?
谢谢, 巴拉
【问题讨论】:
不,不可能在预加载的表中更改分桶和分区,您可能必须创建一个具有所需分桶和分区属性的新表,然后从旧表中加载它。
set hive.enforce.bucketing = true;
FROM old_table insert into table new_bucketed_partitioned_table select * ;
【讨论】: