как избежать дублирования записей в улье? - PullRequest
0 голосов
/ 30 марта 2020

Создать таблицу с первичным ключом в 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");

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...