Les propriétés ACID Ruches permettent de supprimer les lignes d'une table en utilisant la syntaxe suivante:Hive supprimer la ligne avec clé primaire composite
DELETE FROM table
WHERE id IN (SELECT id FROM raw_table)
Mais quelle est la meilleure solution pour supprimer des lignes lorsque la primary_key se compose de plusieurs colonnes ?
J'ai essayé ce qui suit avec un EXISTE:
DELETE FROM table
WHERE EXISTS (SELECT id1, id2 FROM raw_table
WHERE raw_table.id1 = table.id1 AND raw_table.id2 = table.id2)
Ou le suivant (concaténer toutes les colonnes, pas sûr si cela est valide):
DELETE FROM table
WHERE CONCAT(id1, id2) IN (SELECT CONCAT(id1, id2) FROM raw_table)
Avez-vous des conseils sur la Quelle est la meilleure solution?
Merci beaucoup pour votre réponse. Je suis allé avec la première approche en utilisant les EXISTS, pensez-vous que cela prendra plus de temps? –
Je viens d'éditer ma réponse. – hlagos