Создать таблицу с первичным ключом в Hive. Вставьте одну и ту же запись данных несколько раз.
Как можно избежать того, чтобы запись данных (первичный ключ) не вставлялась более одного раза без использования второй временной таблицы?
drop table t1;
CREATE TABLE IF NOT EXISTS `t1` (
`ID` BIGINT DEFAULT SURROGATE_KEY(),
`Name` STRING NOT NULL DISABLE NOVALIDATE,
CONSTRAINT `PK_t1` PRIMARY KEY (`ID`) DISABLE NOVALIDATE);
select * from t1;
+--------+----------+
| t1.id | t1.name |
+--------+----------+
+--------+----------+
insert into t1 values (1, "Hi");
insert into t1 values (1, "Hi");
insert into t1 values (1, "Hi");
select * from t1;
+--------+----------+
| t1.id | t1.name |
+--------+----------+
| 1 | Hi |
| 1 | Hi |
| 1 | Hi |
+--------+----------+
Я пытался неудачно с объединением: MERGE INTO t1 USING (выберите * из t1) sub ON sub.id! = t1.id
КОГДА не совпало, затем вставьте значения (2, "World");