Die ACID-Eigenschaften in Hive erlauben löschen Zeilen aus einer Tabelle zu löschen, die folgende Syntax verwenden:Hive Reihe mit zusammengesetzten Primärschlüssel
DELETE FROM table
WHERE id IN (SELECT id FROM raw_table)
Aber was ist die beste Lösung Zeilen zu löschen, wenn die primary_key aus mehreren Spalten besteht ?
Ich habe folgendes versucht, mit einem VORHANDEN:
DELETE FROM table
WHERE EXISTS (SELECT id1, id2 FROM raw_table
WHERE raw_table.id1 = table.id1 AND raw_table.id2 = table.id2)
oder die folgende (alle Spalten verketten, nicht sicher, ob diese gültig ist):
DELETE FROM table
WHERE CONCAT(id1, id2) IN (SELECT CONCAT(id1, id2) FROM raw_table)
Haben Sie Tipps zum Thema Was ist die beste Lösung?
Vielen Dank für Ihre Antwort. Ich ging tatsächlich mit dem ersten Ansatz mit den EXISTS, glaubst du, es wird mehr Zeit kosten? –
Ich bearbeite nur meine Antwort. – hlagos