Zuhause Persönliche Finanzen Verbinden von Tabellen mit Hive - Dummies

Verbinden von Tabellen mit Hive - Dummies

Video: HDInsight: Fast Interactive Queries with Hive on LLAP | Azure Friday 2024

Video: HDInsight: Fast Interactive Queries with Hive on LLAP | Azure Friday 2024
Anonim

Sie wissen wahrscheinlich bereits, dass Experten in relationalen Datenbank-Modellierung und Design in der Regel viel Zeit mit dem Entwerfen von normalisierten Datenbanken oder Schemas verbringen. Die Datenbank -Normalisierung ist eine Technik, die vor Datenverlust, Redundanz und anderen Anomalien schützt, wenn Daten aktualisiert und abgerufen werden. Die Experten befolgen eine Reihe von Regeln, um zu einer normalisierten Datenbank zu gelangen, aber Regel 1 ist, dass Sie mit einer

Gruppe Tabellen enden müssen. (Eine große Tabelle, die alle Ihre Daten speichert, ist nicht normal - Wortspiel beabsichtigt.) Es gibt Ausnahmen, abhängig vom Anwendungsfall, aber das Gesetz vieler Tabellen wird im Allgemeinen genau befolgt, besonders für Datenbanken, die Transaktionen oder analytische Verarbeitung unterstützen (Business Intelligence, beispielsweise).

Wenn Sie beginnen, Ihre Daten abzufragen und zu analysieren, werden die Tabellen basierend auf den definierten Beziehungen zwischen ihnen über SQL verbunden. Dies bedeutet, dass die Festplatten am Anfang auf Ihrem Server ausgelastet sind, wenn Sie Tabellen verknüpfen. Besetzte Festplatten führen in der Regel zu langsameren Reaktionszeiten der Benutzer. Die gute Nachricht ist jedoch, dass RDBMS und EDW so abgestimmt sind, dass sie so schnell wie möglich Verbindungen eingehen.

Was hat das alles mit Joins in Hive zu tun? Denken Sie daran, dass das zugrunde liegende Betriebssystem für Hive ist (Überraschung!) Apache Hadoop: MapReduce ist die Engine zum Beitreten von Tabellen, und das Hadoop-Dateisystem (HDFS) ist der zugrunde liegende Speicher. Das sind gute Nachrichten für den Benutzer, der große Tabellen mit Hive erstellen, verwalten und analysieren möchte.

Das Potenzial, Informationen freizuschalten, die in riesigen Datenstrukturen versteckt sind, ist aufregend. Verbindungen mit Hive funktionieren jedoch normalerweise nicht so gut wie in der RDBMS / EDW-Welt, so dass Erstanwender oft von der "Pikiness" der Systemantwort überrascht werden.

Denken Sie daran, dass MapReduce und HDFS für den Durchsatz mit Big Data-Analysen optimiert sind und dass

Latenzzeiten - also die Reaktionszeiten der Benutzer - in der Regel hoch sind. Hive wurde für die analytische Verarbeitung im Batch-Stil entwickelt, nicht für die schnelle Online-Transaktionsverarbeitung. Benutzer, die die bestmögliche Leistung mit SQL auf Apache Hadoop wünschen, haben Lösungen zur Verfügung.

Behalten Sie diese Dynamik im Hinterkopf, wenn Sie Tabellen mit Hive verbinden. Beachten Sie auch, dass Hive-Architekten in der Regel ihre Datenbanken in gewissem Maße denormalisieren, so dass weniger große Tabellen üblich sind. Deshalb werden komplexe Datentypen wie STRUCTs und ARRAYs bereitgestellt. Sie können diese komplexen Datentypen verwenden, um sehr viel mehr Daten in eine einzige Tabelle zu packen.

Da Hive-Tabellen über HDFS lesen und schreiben, sind in der Regel sehr große Datenblöcke erforderlich. Je mehr Daten Sie insgesamt in einer Tabelle verwalten können, desto besser ist die Gesamtleistung.

Der Festplatten- und Netzwerkzugriff ist viel langsamer als der Speicherzugriff. Daher sollten Sie das Lesen und Schreiben von HDFS so gering wie möglich halten.

Mit diesen Hintergrundinformationen können Sie Joins mit Hive in Angriff nehmen. Glücklicherweise war die Hive-Entwicklergemeinschaft realistisch und verstand, dass Benutzer Tabellen mit HiveQL verbinden wollen und müssen. Dieses Wissen wird bei der EDW-Augmentation besonders wichtig. Anwendungsfälle wie "abfragbare" Archive erfordern häufig Joins zur Datenanalyse.

Hier ist ein Hive-Join-Beispiel mit Flugdatentabellen. Die Auflistung zeigt Ihnen, wie Sie eine Tabelle myflightinfo2007 und eine Tabelle myflightinfo2008 aus den größeren Tabellen FlightInfo2007 und FlightInfo2008 erstellen und anzeigen. Der Plan bestand darin, die von CTAS erstellten Tabellen myflightinfo2007 und myflightinfo2008 zu verwenden, um zu veranschaulichen, wie Sie Joins in Hive ausführen können.

Die Abbildung zeigt das Ergebnis eines inneren Joins mit den Tabellen myflightinfo2007 und myflightinfo2008 unter Verwendung des SQL-Clients SQuirreL.

Hive unterstützt

equi-joins, einen bestimmten Join-Typ, der nur Gleichheitsvergleiche im Join-Prädikat verwendet. (Auf m8. FlightNum = m7. FlightNum ist ein Beispiel für einen Equi-Join.) Andere Komparatoren wie Less Than (<) werden nicht unterstützt. Diese Einschränkung ist nur auf Einschränkungen der zugrunde liegenden MapReduce-Engine zurückzuführen. Außerdem können Sie OR nicht in der ON-Klausel verwenden. Die Abbildung veranschaulicht das frühere Beispiel des inneren Joins und zwei andere Hive-Join-Typen. Beachten Sie, dass Sie die Ergebnisse eines inneren Joins überprüfen können, indem Sie den Inhalt der Tabellen myflight2007 und myflight2008 überprüfen.

Die folgende Abbildung zeigt, wie ein Inner Join mit einem Venn-Diagramm funktioniert, falls Sie mit der Technik nicht vertraut sind. Die grundlegende Idee hierbei ist, dass ein Inner Join die Datensätze zurückgibt, die zwischen zwei Tabellen übereinstimmen. Ein innerer Join ist also ein perfektes Analyse-Tool, um zu bestimmen, welche Flüge von JFK (New York) nach ORD (Chicago) im Juli 2007 und Juli 2008 gleich sind.

Optimierung von Hive-Joins ist ein heißes Thema in der Hive-Community.. Weitere Informationen zu aktuellen Optimierungstechniken finden Sie auf der Seite Join Optimization im Hive-Wiki.

Verbinden von Tabellen mit Hive - Dummies

Die Wahl des Herausgebers

Netzwerkgrundlagen: IPv6-Adresse Vereinfachte Notation - Dummies

Netzwerkgrundlagen: IPv6-Adresse Vereinfachte Notation - Dummies

Bei der Arbeit mit IPv6-Adressen kann es viel Zeit in Anspruch nehmen. schreibe deine Adressen - immerhin sind sie 128 Bit lang. Um das Leben einfacher zu machen, gibt es einige Regeln, die Sie verwenden können, um diese Schreibweise zu verdichten: Führende Nullen in der Adresse sind optional. Für einen Adressblock wäre also 0A45 gleich A45, ...

Netzwerkgrundlagen: IP-Netzwerkklassen - Dummies

Netzwerkgrundlagen: IP-Netzwerkklassen - Dummies

Netzwerkadressierungsarchitektur unterteilt den Adressraum für Internet Protocol Version 4 (IPv4 ) in fünf Adressklassen. Jede Klasse, die in den ersten vier Bits der Adresse codiert ist, definiert entweder eine andere Netzwerkgröße, d.h. e. Anzahl der Hosts für Unicast-Adressen (Klassen A, B, C) oder Multicast-Netzwerk (Klasse D). Die fünfte Klasse (E) address ...

Netzwerkgrundlagen: Netzwerkport Übersicht - Dummys

Netzwerkgrundlagen: Netzwerkport Übersicht - Dummys

In TCP / IP- und UDP-Netzwerken ist ein Port ein Endpunkt eine logische Verbindung. Die Portnummer gibt an, um welchen Port es sich handelt. Port 80 wird beispielsweise für HTTP-Datenverkehr verwendet. Wenn Sie einen Befehl wie netstat -n unter Microsoft Windows oder Linux verwenden, sehen Sie eine Auflistung der lokalen Adressen ...

Die Wahl des Herausgebers

Excel-Dashboards: Wie Sie Ihr erstes Makro aufzeichnen - Dummies

Excel-Dashboards: Wie Sie Ihr erstes Makro aufzeichnen - Dummies

Wenn Sie ein Anfänger auf dem Dashboard sind Automatisierung in Excel ist es unwahrscheinlich, dass Sie den VBA-Code (Visual Basic für Applikationen) von Hand schreiben können, um Makros zu erstellen. Ohne vollständige Kenntnis des Objektmodells und der Syntax von Excel wäre das Schreiben des benötigten Codes für die meisten Anfänger unmöglich. Hier können Sie ein Makro aufzeichnen ...

Excel-Formelberechnungsmodi - Dummys

Excel-Formelberechnungsmodi - Dummys

Standardmäßig ist Excel so eingestellt, dass es automatisch neu berechnet wird. Wenn Sie eine der Zellen ändern, auf die in einer bestimmten Formel verwiesen wird, berechnet Excel diese Formel automatisch neu, sodass ein korrektes Ergebnis basierend auf den Änderungen in den Zellbezügen zurückgegeben wird. Wenn die Formel, die neu berechnet wird, auch als Zellenreferenz in anderen verwendet wird ...

Excel Formelfehler - Dummies

Excel Formelfehler - Dummies

Es ist nicht immer glatt, wenn Sie mit Excel-Formeln arbeiten. Manchmal gibt eine Formel einen Fehlerwert anstelle des erwarteten Werts zurück. Excel hilft Ihnen, das Problem zu identifizieren, indem Sie einen von sieben Fehlerwerten zurückgeben: # DIV / 0! , # N / A, #NAME? , #NULL! , #NUM! , #REF! und #WERT! , erklärt in der folgenden Liste: # DIV / 0! : ...

Die Wahl des Herausgebers

Teilen, Weiterverbreiten und Kommentieren von Google+ Posts - Dummies

Teilen, Weiterverbreiten und Kommentieren von Google+ Posts - Dummies

, Wenn Sie mit der Verwendung und Veröffentlichung beginnen Bei Google+ möchten Sie gelegentlich Links und Bilder teilen, die Beiträge anderer freigeben, ihre Beiträge kommentieren und andere in Ihren eigenen Google+ Beiträgen erwähnen. Vielleicht fragen Sie sich auch, wie Sie andere dazu bringen, Ihre eigenen Beiträge öfter zu kommentieren. Teilen von Links und Bildern in Google+ So geben Sie ein ...

Teilen Ihrer Google+ Posts mit bestimmten Personen - Dummies

Teilen Ihrer Google+ Posts mit bestimmten Personen - Dummies

Beiträge auf Google+ sind ganz einfach und können posten Text, Links, Fotos, Videos und sogar Ihren aktuellen Standort. Der schwierigste Teil des Beitrags auf Google+ besteht darin, auszuwählen, wen Sie Ihren Beitrag sehen möchten. Google+ verwendet Ihre Kreise, um festzulegen, wer Ihre Beiträge sehen kann. Kreise sind etwas einfacher als Listen, weil ...

Taggen von Personen in Google+ Fotos - Dummies

Taggen von Personen in Google+ Fotos - Dummies

Sie können Personen in Ihren Kreisen auf jedem Foto auf Google+ markieren. Wenn Sie eine Person in einem Foto taggen, wird diese Person über ihre Google+ Benachrichtigungen benachrichtigt. Sie können dann das Tag entfernen oder genehmigen, und das Foto wird mit dem Tag des Namens dieser Person darin angezeigt. Um jemanden zu markieren, ...