Hadoop 配置单元创建表但获取失败:SemanticException[错误10035]:在分区列中重复列

Hadoop 配置单元创建表但获取失败:SemanticException[错误10035]:在分区列中重复列,hadoop,hive,Hadoop,Hive,下面是我用来创建表的代码: CREATE TABLE vi_vb(cTime STRING, VI STRING, Vital STRING, VB STRING) PARTITIONED BY(cTime STRING, VI STRING) CLUSTERED BY(VI) SORTED BY(cTime) INTO 32 BUCKETS ROW FORMAT DELIMITED FIELDS TERMINATED BY '1' COLLECTION ITEMS TERMIN

下面是我用来创建表的代码:

CREATE TABLE vi_vb(cTime STRING, VI STRING, Vital STRING, VB STRING)
PARTITIONED BY(cTime STRING, VI STRING)
CLUSTERED BY(VI) SORTED BY(cTime) INTO 32 BUCKETS
ROW FORMAT DELIMITED
    FIELDS TERMINATED BY '1'
    COLLECTION ITEMS TERMINATED BY '2'
    MAP KEYS TERMINATED BY '3'
STORED AS SEQUENCEFILE;

我真的不知道问题出在哪里,有人有什么建议吗?

按列划分不应该在创建表定义中。按列划分将自动添加到表列。

列“cTime,VI”既被定义为普通列,也被定义为分区列。

我不清楚-解决方案只是从创建表中删除cTime字符串,VI字符串,它如何知道它是哪个列号?我有3列C1、C2、C3,我说创建表T(Y1 int,Y3 int),由Y2分区;它如何知道我想要哪一个Y2(有3种可能性)?这没有任何意义…在StackOverflow上添加一个解释说明为什么您的解决方案应该工作是一个很好的实践。
CREATE TABLE vi_vb(Vital STRING, VB STRING)
PARTITIONED BY(cTime STRING, VI STRING)
CLUSTERED BY(VI) SORTED BY(cTime) INTO 32 BUCKETS
ROW FORMAT DELIMITED
    FIELDS TERMINATED BY '1'
    COLLECTION ITEMS TERMINATED BY '2'
    MAP KEYS TERMINATED BY '3'
STORED AS SEQUENCEFILE;