2017-03-27 8 views
0

Ich muss wissen, wie Hive-Abfrage auf verteilten System wie Hadoop ausgeführt wird. Ich habe andere Fragen geprüft, aber keine davon ausführlich erklärt.Wie Hive-Abfrage in hadoop ausgeführt wird

Ich bin auf der Suche nach dem vollständigen Ausführungsprozess. Wie in Ich möchte wissen, warum Hive-Join-Abfragen mehr Zeit benötigen als einfache Abfrage auswählen.

Jeder, der den Prozess der Bienenstockausführung kennt, bitte erklären.

PS: Ich benutze Hortonworks Datenplattform als Hadoop-Framework.

+0

Wenn jemand Link für gute Dokumentation für Bienenstock Abfrage-Prozess bieten kann, wird sehr hilfreich sein. – techprat

Antwort

0

Die von Benutzern gesendete SQL-Abfrage wird von Hive in einen physischen Operatorbaum konvertiert, der optimiert und in Tez-Jobs konvertiert und dann auf dem Hadoop-Cluster ausgeführt wird. Die verteilte SQL-Abfrageverarbeitung in Hadoop unterscheidet sich von der herkömmlichen relationalen Abfrage-Engine, wenn es um die Verarbeitung von Zwischenergebnissätzen geht. Die Verarbeitung von Hive-Abfragen erfordert oft das Sortieren und erneute Zusammensetzen von Zwischenergebnissätzen; Dies wird im Hadoop-Sprachgebrauch als Shuffling bezeichnet.

Bei den meisten Abfrageoptimierungen in Hive geht es um die Minimierung der Umstellungskosten. Derzeit müsste der Benutzer eine optimierte Abfrage an Hive senden, die die richtige Join-Reihenfolge aufweist, damit die Abfrage effizient ausgeführt werden kann. Logische Optimierungen in Hive beschränken sich auf Filter Push Down, Projection Pruning und Partition Pruning. Kostenbasierte logische Optimierungen können die Abfrage-Latenz und die Benutzerfreundlichkeit von Apache Hive erheblich verbessern.

Join Neuordnung und Join-Algorithmus Auswahl sind nur einige der Optimierungen, die von einem kostenbasierten Optimierer profitieren können. Ein kostenbasierter Optimierer würde den Benutzer davon abhalten, Joins in der richtigen Reihenfolge neu anzuordnen oder den Join-Algorithmus mithilfe von Abfragehinweisen und Konfigurationsoptionen anzugeben. Dadurch können Benutzer möglicherweise ihre Berichts- und ETL-Anforderungen in der Nähe des Geschäftsprozesses modellieren, ohne sich um Abfrageoptimierungen kümmern zu müssen.

Lesen Sie die wiki, es hat, was Sie wollen. Wenn Sie eine bestimmte Frage zu Code haben, schreiben Sie, was Sie versucht haben und was Sie erreichen möchten.

Verwandte Themen