我想为测试目的克隆我们数据库中名为'blah'的Impala表(以免意外删除某些内容)。但是,'blah'表有分区,而且我运行的命令似乎没有起作用。有人能告诉我如何在新表中自动创建/模拟分区,还是我需要手动创建新表的分区?
我使用的命令是:
然而,当我尝试复制数据(上面的插入语句)时,它告诉我:
看看Cloudera文档,它说:
我使用的命令是:
CREATE TABLE blah_copy LIKE blah
INSERT INTO TABLE blah_copy SELECT * FROM blah
当我运行时,它会为我创建表格,因为它们具有相同数量的列
desc blah
desc blah_copy
然而,当我尝试复制数据(上面的插入语句)时,它告诉我:
ERROR: AnalysisException: Not enough partition columns mentioned in query. Missing columns are: www, xxx, yyy, zzz.
看看Cloudera文档,它说:
这就是我现在的情况。感谢您提前提供的任何帮助。如果原始表是分区的,则新表继承相同的分区键列。由于新表最初为空,因此它不会继承实际存在于原始表中的分区。要在新表中创建分区,请插入数据或发出ALTER TABLE ... ADD PARTITION语句。