Создайте таблицу с первичным ключом в 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 (select * from t1) sub ON sub.id != t1.id
КОГДА не совпадают, вставьте значения (2, «Мир»);