2016-07-23 7 views
0

Hallo Ich habe eine Tabelle mit Spalte, deren Typ ist map<string,string>. Jetzt habe ich Anforderung, wo ich spezifischen Schlüssel "xyz" von dieser Karte entfernen möchte und Karte behalten, wie es in der Tabelle ist. Wenn wir nur Schlüssel abrufen wollen, können wir Lateral view verwenden, aber ich möchte den spezifischen Schlüssel xyz dauerhaft entfernen. Wie lösen wir das? Bitte führen. Danke im Voraus.Wie bestimmte Schlüssel aus Hive-Kartentyp entfernen?

Antwort

0

Wie Hive (Any Hadoop) unterstützt nicht Update auf Tabellendaten (Dokument auf hdfs).

So gibt es Arbeit.

Verwendung Seitenansicht explodieren und den Schlüsselwert von Ergebnismenge entfernen

Str_to_map mit Gruppe erstellen, um Daten in der Karte Format

Sie einen Blick auf dem oberen Logik hat oder out put result tun und einen Tisch auf der Oberseite erstellen dieser Ausgabedateien.

Entfernen-Taste Beispiel (map explode example)

 with result as (select key1, value1 from test2 
       lateral view explode(item1) dummy1 as key1, value1 

      select * from result where key1 !='1' 
+0

Hallo Dank, den ich nicht verstand, können Sie mir bitte Beispiel geben, wie ich bestimmte Schlüssel in einer Karte zu entfernen und mit abgenommenem bestimmten Schlüsseln in einer Tabelle Karte halten. – u449355

+0

in Antwort aktualisiert .. –

+0

OK danke Ich bin immer noch verwirrt wird Seitenansicht und explodieren spezifischen Schlüssel dauerhaft aus der Haupttabelle entfernen? – u449355

Verwandte Themen