2017-12-06 2 views
0

Ein Index ist nichts anderes als ein Zeiger auf eine bestimmte Spalte einer Tabelle. Einen Index erstellen bedeutet, einen Zeiger auf eine bestimmte Spalte einer Tabelle zu erstellen. Wenn eine Spalte in einer Tabelle indiziert ist und wie auf die Daten dieser bestimmten Spalte verwiesen wird, wenn diese bestimmte Spalte abgefragt wird?Wie funktioniert die Indexierung intern in der Struktur?

Antwort

1

Aus der Dokumentation

Das Ziel von Hive Indizierung ist die Geschwindigkeit der Abfrage-Lookup auf bestimmte Spalten einer Tabelle zu verbessern. Ohne einen Index laden Abfragen mit Prädikaten wie 'WHERE tab1.col1 = 10' die gesamte Tabelle oder Partition und alle Zeilen verarbeiten. Wenn jedoch ein Index für Spalte1 existiert, muss nur ein Teil der Datei geladen und verarbeitet werden. Die Verbesserung in Abfragegeschwindigkeit, die ein Index bereitstellen kann, wird auf Kosten von zusätzliche Verarbeitung zum Erstellen des Index und Speicherplatz zum Speichern des Index.

Hinter den Kulissen, Hive schafft im Wesentlichen eine Karte mit den Werten der Spalte, die es Indizierung sind und die Offset + Dateien, in denen die Daten im HDFS befinden, auf diese Weise, Hive braucht nicht alle zu scannen die Daten für die Suche nach einem bestimmten Wert. Hier ist ein guter Artikel, der die grundlegenden Konzepte erklärt

https://acadgild.com/blog/indexing-in-hive/

Verwandte Themen