我正在尝试从另一个具有 CREATE AS
以及hivecli上的动态分区。我从hive官方维基学习,这里有一个例子:
CREATE TABLE T (key int, value string)
PARTITIONED BY (ds string, hr int) AS
SELECT key, value, ds, hr+1 hr1
FROM srcpart
WHERE ds is not null
And hr>10;
但我收到了一个错误:
失败:semanticexception[错误10065]:
create table as select命令无法指定目标表的列列表
资料来源:https://cwiki.apache.org/confluence/display/hive/dynamicpartitions#dynamicpartitions-语法
2条答案
按热度按时间l7wslrjt1#
由于您已经知道目标表的完整架构,请尝试先创建它,然后使用load data命令填充它:
注意:由于要执行完全动态分区插入,因此需要set命令。
gupuwyp22#
在上面的代码中,而不是
Create
语句用法:CREATE TABLE T like srcpart
;以防分区相似。