2017-04-07 9 views
5

Ich versuche zu lernen, doppelte Datensätze aus einer Hive-Tabelle zu löschen.So löschen Sie doppelte Datensätze aus der Hive-Tabelle?

My Hive Tabelle: ‚dynpart‘ mit Spalten: ID, Name, Technologie

Id Name Technology 
1 Abcd Hadoop 
2 Efgh Java 
3 Ijkl MainFrames 
2 Efgh Java 

Wir haben Optionen wie ‚Distinct‘ in einer Auswahlabfrage zu verwenden, aber eine ausgewählte Abfrage ruft nur Daten aus der Tabelle . Kann jemand sagen, wie man eine Löschungabfrage benutzt, um die doppelten Zeilen von einer Hive Tabelle zu entfernen.

Sicher, dass es nicht empfohlen oder nicht der Standard zum Löschen/Aktualisieren von Datensätzen in Hive. Aber ich möchte lernen, wie wir es machen.

Antwort

14

Sie können Insert überschreiben verwenden Auszugsdaten zu aktualisieren

insert overwrite table dynpart select distinct * from dynpart; 
+0

Gibt es einen anderen Weg, wo wir nicht die gesamte Tabelle löschen und Datensätze löschen müssen – salmanbw

3

Sie verschiedene Datensätze in einer anderen Tabelle einfügen können

create table temp as select distinct * from dynpart 
+1

oder ohne neue Tabelle: 'einfügen Überschreiben Tabelle dynpart verschiedene select * from dynpart ' – fi11er

+0

@ fi11er, Ihre Antwort funktioniert. Wenn Sie Ihren Kommentar in eine Antwort setzen können, werde ich es akzeptieren. – Sidhartha

+0

@Sidhartha, done – fi11er

Verwandte Themen