Hive创建表但获取FAILED:SemanticException [错误10035]:在分区列中重复列

use*_*369 9 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 TERMINATED BY '2'
    MAP KEYS TERMINATED BY '3'
STORED AS SEQUENCEFILE;
Run Code Online (Sandbox Code Playgroud)

我真的不知道问题是什么,有没有人有建议?

Pra*_*nge 14

按列分区不应位于create table定义中.按列分区将自动添加到表列.

  • 它如何知道它是哪个列号?我有 3 列 C1、C2、C3,我说创建由 Y2 分区的表 T(Y1 int, Y3 int);它如何知道我想要 Y2 的哪一个(有 3 种可能性)?这没有任何效果... (4认同)
  • 我不清楚 - 解决方案只是从创建表中删除 cTime STRING、VI STRING (2认同)

Abh*_*his 6

列"cTime,VI"既定义为普通列,也定义为分区列.