Hadoop 现有表的配置单元bucketing和分区

Hadoop 现有表的配置单元bucketing和分区,hadoop,hive,Hadoop,Hive,是否可以为已经包含数据的表创建bucketing和分区?我在配置单元中有一个表,其中有超过100万条记录,我想在该表上创建一个分区。我还需要创建bucketing 可能吗 谢谢, Bala不,不可能在预加载的表中更改bucketing和分区,您可能必须创建一个具有所需bucketing和分区属性的新表,然后从旧表加载它 set hive.enforce.bucketing = true; FROM old_table insert into table new_bucketed_partitio

是否可以为已经包含数据的表创建bucketing和分区?我在配置单元中有一个表,其中有超过100万条记录,我想在该表上创建一个分区。我还需要创建bucketing

可能吗

谢谢,
Bala

不,不可能在预加载的表中更改bucketing和分区,您可能必须创建一个具有所需bucketing和分区属性的新表,然后从旧表加载它

set hive.enforce.bucketing = true;
FROM old_table insert into table new_bucketed_partitioned_table select * ;

由于分区和存储桶对数据进行分类,这对包含数据的表不起作用,因此alter命令无效。使用bucketing和partition创建另一个表,并将此表中的数据插入新表