2012-09-25 37 views
1

我有一个包含3列的表。现在我需要修改其中一列作为分区列。 有没有可能?如果不是,我们如何将分区添加到现有表中。我使用了下面的语法: create table t1(eno int,ename string)以'\ t'结尾的行格式定界字段; 将数据本地'/....path/'加载到表t1中; alter table t1 add partition(p1 ='india');将正常列转换为配置单元中的分区列

我收到错误.........

任何一个知道如何到现有的表加分......?

在此先感谢。

回答

1

我不认为这是直接可能的。 Hive必须完全重新排列和拆分HDFS中的文件,因为添加分区会强加一个新的目录结构。

我建议你做的只是创建一个具有所需模式和分区的新表,并将所有内容从第一个插入第二个。

0

我认为没有办法将表的现有列转换为分区。 如果您想在表中添加分区,请使用ALTER命令。如果您正在处理外部表格,那么也请指定位置字段。我不确定是否可以使用ALTER命令为托管表添加分区。