2017-05-17 2 views
-3

Ich versuche, zwei Tabelle im Bienenstock mit fast der gleichen Anzahl von Datensätzen zu verbinden. Die Ausführung der Abfrage dauert sehr lange. Warum in Hive JOINS lange dauern, um auszuführen? Die Anzahl der Datensätze beträgt ca. 50k in beiden Tabellen.Warum in HIVE Joins viel Zeit in der Ausführung nehmen?

+0

Warum wurde diese Frage abgelehnt? Bitte werfen Sie einen Blick auf nützliche Kommentare, wie die Frage verbessert werden kann. Meine fünf Cent: Bitte fügen Sie weitere Details hinzu: die Abfrage, wie lange läuft sie, Abfrageplan – leftjoin

Antwort

-1

Die Hive-Abfrage wird intern in Map Reduce konvertiert und ausgeführt, wodurch die Ausführung einige Minuten dauert. Es gibt verschiedene Möglichkeiten, die Leistung zu verbessern. Sie können dieser link folgen, um die Abfrageleistung zu verbessern.

Der Hauptgrund für die Verwendung von Hive oder Hadoop ist die Verarbeitung großer Datenmengen. Sie werden also im Vergleich zu anderen relationalen Datenbanken einen enormen Leistungszuwachs sehen, wenn Sie mit riesigen Datenmengen arbeiten. Aber für die Menge der Daten, die Sie erwähnen, ist wahrscheinlich kein guter Anwendungsfall für Hive.

+0

Ich stimme Ihnen zu, dass Map Reduce nicht für eine kleine Anzahl von Datensätzen gedacht ist, aber die Joins, die ich mache, ist eine Teilmenge eines riesigen Datensets. Diese Daten sind gefilterte Daten aus einem großen Datensatz. Aber ich muss zwei Tische verbinden, um einen einzigen Satz zu bekommen. – v83rahul

+0

Joining Daten in Hive ist absolut in Ordnung. Von dem, was Sie hier in Kommentaren erwähnen, vermute ich, dass Sie Filterkriterien haben, um Ihre Aufzeichnungen herauszufiltern. Daher können Sie Partitionen und Bucketing basierend auf den Spalten verwenden, die Sie beim Erstellen der Tabelle verbinden, wodurch die Leistung weiter verbessert wird. –

Verwandte Themen