在hive中的列上创建主键有何不同?

时间:2017-03-15 04:27:46

标签: hadoop hive

我读到我们无法在Hive表中的列上创建主键。但我在其他地方看到了下面的DDL并执行了它。它没有任何问题。

create table prim(id int, name char(30))
TBLPROPERTIES("PRIMARY KEY"="id");

在此之后我执行了“describe formatted prim”并且看到在列ID上创建了一个键

Table Parameters:        
PRIMARY KEY             id        

我在表格中插入了两张ID号相同的记录。

insert into prim values(1,'ABCD');
insert into prim values(2,'EFGH');

两条记录都插入到表格中。令我感到困惑的是,我们无法在创建语句中给出我能理解的PRIMARY KEY,但在TBLPROPERTIES("PRIMARY KEY"="id")中给出它与RDBMS中的主键有何不同。

1 个答案:

答案 0 :(得分:2)

PRIMARY KEY中的

TBLPROPERTIES用于元数据引用以保留列重要性。它不对该列应用任何约束。这可以从设计角度用作参考。