Zuhause Persönliche Finanzen Windowing in HiveQL - dummies

Windowing in HiveQL - dummies

Video: Analytical Queries with Hive SQL Windowing and Table Functions 2024

Video: Analytical Queries with Hive SQL Windowing and Table Functions 2024
Anonim

Das im SQL: 2003-Standard eingeführte Konzept der Fensterung,, ermöglicht es dem SQL-Programmierer, aus den Daten, Aggregat und andere Fensterfunktionen können funktionieren. HiveQL unterstützt jetzt die Fensterung nach dem SQL-Standard. Beispiele sind sehr hilfreich bei der Erklärung von Fenster- und Aggregatfunktionen.

Abfahrtsverzögerungen kommen mit dem Gebiet, wenn das Fliegen Ihre gewählte Flugart ist. Es überrascht daher nicht, dass die von RITA erstellten Flugdaten diese Informationen enthalten. & ldquo; Was genau ist die durchschnittliche Flugverzögerung pro Tag & rdquo; ? Die Abfrage in der folgenden Auflistung ergibt die durchschnittliche Abfahrtsverzögerung pro Tag im Jahr 2008.

(A) hive (Flugdaten)> CREATE VIEW avgdepdelay AS> SELECT DayOfWeek, AVG (DepDelay) VON FlightInfo2008 GROUP BY DayOfWeek; OK Zeit genommen: 0. 121 Sekunden (B) hive (Flugdaten)> SELECT * FROM avgdepdelay; … OK 1 10. 269990244459473 2 8. 97689712068735 3 8. 289761053658728 4 9. 772897177836702 5 12. 158036387869656 6 8. 645680904903614 7 11. 568973392595312 Eingesetzte Zeit: 18. 6 Sekunden, abgeholt: 7 Reihe (n)

TGIF, oder & ldquo; Gott sei Dank ist es Freitag, & rdquo; gilt nicht für alle. Es sollte keine Überraschung sein, dass Freitag - Tag 5 unter den Ergebnissen in Schritt (B) - die höchste Anzahl von Verzögerungen hatte.

Wie auch immer, zu dieser Abfrage in Schritt (A): Die Data Definition Language (DDL) von Hive enthält auch die Anweisung CREATE VIEW, die sehr nützlich sein kann. In Hive können Ansichten eine Abfrage speichern, aber Daten werden nicht wie bei der Anweisung Create Table as Select (CTAS) gespeichert.

Wenn eine Ansicht in HiveQL referenziert wird, führt Hive die Abfrage aus und verwendet dann die Ergebnisse, die Teil einer größeren Abfrage sein könnten. Dies kann sehr nützlich sein, um komplexe Abfragen zu vereinfachen und in logische Komponenten aufzuteilen. Beachten Sie außerdem die GROUP BY-Klausel, die alle Tage pro Woche erfasst und der AVG-Aggregatfunktion ermöglicht, eine konsolidierte Antwort pro Tag bereitzustellen.

Diese Information ist natürlich nützlich, aber was ist, wenn Sie einzelne Zahlen pro Tag sehen möchten? Konsolidieren Sie die Daten mit GROUP BY, und Sie haben die Antwort, nach der Sie suchen, obwohl Sie auch Informationen verloren haben. Dieses Problem des Informationsverlustes wird gelöst, wenn das Fenster sehr nützlich wird.

Hier ist eine weitere Frage zu den Flugdaten von RITA 2008, die Apache Hive beantworten kann: & ldquo; Was ist der erste Flug zwischen Flughafen X und Y & rdquo; ? Angenommen, Sie möchten zusätzlich zu diesen Informationen auch über nachfolgende Flüge informiert werden, nur für den Fall, dass Sie kein & ldquo; Frühaufsteher.& rdquo; Nun, das ist ein Job für das Fenster in HiveQL! Die folgende Auflistung enthält eine Abfrage, die diese Fragen beantwortet.

(A) Bienenstock (Flugdaten)> SELECT f08. Monat, f08. DayOfMonat, cr. Beschreibung, f08. Ursprung, f08. Dest, f08. Flugnummer, f08. DepTime, MIN (f08. DepTime) ÜBER (PARTITION BY f08. DayOfMonth ORDER BY f08. DepTime) FROM flightinfo2008 f08 REGISTRIEREN Carriers cr ON f08. UniqueCarrier = cr. Kode WHERE f08. Herkunft = 'JFK' UND f08. Dest = 'ORD' UND f08. Monat = 1 UND f08. DepTime! = 0; … OK 1 1 JetBlue Airways JFK ORD 903 641 641 1 1 American Airlines Inc. JFK ORD 1323 833 641 1 1 JetBlue Airways JFK ORD 907 929 641 1 1 Comair Inc. JFK ORD 5083 945 641 1 1 Comair Inc. JFK ORD 5634 1215 641 1 1 JetBlue Airways JFK ORD 915 1352 641 1 1 American Airlines Inc. JFK ORD 1323 833 641 1 1 JetBlue Airways JFK ORD 907 929 641 1 1 Comair Inc. JFK ORD 5083 945 641 1 1 Comair Inc. JFK ORD 5634 1215 641 1 1 JetBlue Airways JFK ORD 915 1352 641 1 1 American Airlines Inc. JFK ORD 1815 1610 641 1 1 JetBlue Airways JFK ORD 917 1735 641 1 1 Comair Inc. JFK ORD 5469 1749 641 1 1 Comair Inc. JFK ORD 5492 2000 641 1 1 JetBlue Airways JFK ORD 919 2102 641 1 31 JetBlue Airways JFK ORD 919 48 48 1 31 JetBlue Airways JFK ORD 903 635 48 1 31 Comair Inc. JFK ORD 5447 650 48 1 31 American Airlines Inc. JFK ORD 1323 840 48 1 31 JetBlue Airways JFK ORD 907 921 48 1 31 JetBlue Airways JFK ORD 917 1859 48

In Schritt (A) wurde die GROUP BY-Klausel durch die OVER-Klausel ersetzt, in der Sie die PARTITION oder Fenster, über das die MIN-Aggregatfunktion ausgeführt werden soll. Außerdem ist die ORDER BY-Klausel enthalten, damit Sie die nachfolgenden Flüge nach der ersten sehen können.

Wie Sie der Auflistung entnehmen können, hat JetBlue am 31. Januar einen schönen Frühflug um 12:48 Uhr. m. -opt für einen späteren, um 6:35 Uhr a. m. Beachten Sie, dass Sie abgesehen von frühen Riser-Problemen die Informationen in der Abfrageausgabe beibehalten haben, die verloren gegangen wären, wenn Sie eine GROUP BY-Klausel erneut verwendet hätten.

Allein diese Fähigkeit macht das Windowing zu einem mächtigen Feature und es gibt noch mehr. Zusammen mit dem Windowing in der Version Hive 0.11 hat die Community einige Analysefunktionen bereitgestellt, die Sie in Verbindung mit Windowing verwenden können. Ihnen stehen außerdem folgende Funktionen zur Verfügung: RANK, ROW_NUMBER, DENSE_RANK, CUME_DIST, PERCENT_RANK und NTILE.

Schließlich verpassen Sie nicht die Verwendung von JOIN: Es ist ein praktisches Beispiel für einen inneren Join, bei dem Sie der Tabelle FlightInfo2008 mit der Tabelle Carriers beitreten, um den Namen der Fluggesellschaft zu erhalten. als der kryptische Code in der Tabelle FlightInfo2008.

Windowing in HiveQL - dummies

Die Wahl des Herausgebers

Optimierung sozialer Medien: Anpassung von Inhalten an Specialty Channels - Dummies

Optimierung sozialer Medien: Anpassung von Inhalten an Specialty Channels - Dummies

Eine der besten Möglichkeiten, um Zusätzliche Meilenzahl von Ihren Sozialmedieninhalt ist, sie umzupacken und sie auf verschiedenen Kanälen freizugeben. Wenn Sie einen Blogbeitrag haben und den Beitrag direkt über Social Sharing bewerben, können Sie diesen Blogpost in eine herunterladbare PDF-Datei umwandeln. Wenn die ...

Social-Media-Optimierung: SMART Marketing - Dummies

Social-Media-Optimierung: SMART Marketing - Dummies

Wenn Sie Ihre Social Media-Ziele definiert haben, haben Sie Ihr Ziel identifiziert Zielgruppe und fand heraus, wo sie auf Social-Media-Kanälen zu finden sind, nutzte die Daten aus Analyse-Programmen, um die optimale Zeit zu bestimmen, um in sozialen Medien aktiv zu sein, und eine umfassende Social-Media-Verhaltenspolitik setzen Sie sind bereit, zu bewegen ...

Social Media Optimierung: Was Sie über Semantic Markup wissen sollten - Dummies

Social Media Optimierung: Was Sie über Semantic Markup wissen sollten - Dummies

Wenn Sie möchten Um mit Ihrer Social-Media-Optimierungsstrategie wirklich erfolgreich zu sein, müssen Sie etwas über semantisches Markup wissen. Einfach gesagt ist semantisches Markup ein standardisierter Weg, um Code zu schreiben, der eine Webseite für dumme Maschinen wie Suchmaschinen leicht verständlich macht. Es ist eine Möglichkeit, den Inhalt einer Webseite mit Anmerkungen zu versehen ...

Die Wahl des Herausgebers

Online-Community-Manager sollten ihre Ausbildung ausweiten - Dummies

Online-Community-Manager sollten ihre Ausbildung ausweiten - Dummies

Haben Sie keine Angst, etwas Neues zu lernen. Dies kann bedeuten, dass Sie Artikel über Ihre Branche, die Marke und das Online-Community-Management lesen. Dies kann bedeuten, dass Sie nach Bildung suchen, die es Ihnen ermöglicht, Ihre Community besser zu betreiben. Es schadet nie, grundlegendes Web- oder Blog-Design zu kennen und auf dem neuesten Stand der Technik zu bleiben. Außerdem ...

Online-Community-Manager sollten mit Beispiel führen - Dummies

Online-Community-Manager sollten mit Beispiel führen - Dummies

Ihre Community orientiert sich an Ihnen. Wenn du schwörst und nistest, werden die Mitglieder wissen, dass dieses Verhalten in Ordnung ist. Wenn Sie aber jeden Morgen fröhlich grüßen, folgen sie Ihrem Beispiel. Sogar Leute, die von Drama und Negativität angezogen werden, werden sich entweder an der guten Miene beteiligen, oder sie werden so müde ...

Online Community-Manager Bleiben Sie auf dem neuesten Stand der Trends - dummies

Online Community-Manager Bleiben Sie auf dem neuesten Stand der Trends - dummies

Ob es sich um Ihre Online-Community handelt oder nicht müssen Sie sich der Marktentwicklung bewusst sein. Was kaufen Leute? Wie kommunizieren sie online? Geben sie mehr oder weniger Geld aus? Welche Lebensmittel, Gadgets oder Moden sind rein oder raus? Um auf dem neuesten Stand der Trends zu bleiben, sollten Sie wissen, was und was so ist.

Die Wahl des Herausgebers

Kennenlernen der Aufgabenleiste in Outlook 2007 - dummies

Kennenlernen der Aufgabenleiste in Outlook 2007 - dummies

Ausblick 2007 eine neue Funktion namens To-Do-Leiste, die alle Dinge, die Sie tun müssen, zusammenfasst und sie in einem Bereich auf der rechten Seite des Outlook-Bildschirms anzeigt. Das Ziel der To-Do-Leiste ist es, Ihnen mitzuteilen, was Sie auf einen Blick tun müssen, anstatt ...

ÄNdern der Größe einer Notiz in Outlook 2013 - Hinweise für Dummies

ÄNdern der Größe einer Notiz in Outlook 2013 - Hinweise für Dummies

In Outlook 2013 befolgen alle Regeln dass andere Windows-Boxen folgen, also wenn Sie ein alter Hase beim Verschieben und Ändern der Größe von Boxen in Windows sind, werden Sie in Ordnung sein. Wenn Sie mit Windows und Dialogfeldern noch nicht vertraut sind, machen Sie sich keine Sorgen - Notizen lassen sich genauso einfach in der Größe ändern wie zum Schreiben und Lesen. Ändern ...

Kennenlernen von Ansichten in Outlook 2007 - Dummys

Kennenlernen von Ansichten in Outlook 2007 - Dummys

In Outlook 2007 verfügt jedes Outlook-Modul über eine eigene Auswahl von Ansichten. Jede Art von Ansicht ist so organisiert, dass ein bestimmtes Merkmal Ihrer Informationen auf den ersten Blick sichtbar wird. Sie können die Art ändern, wie Sie eine Ansicht anzeigen, indem Sie sie sortieren, filtern oder gruppieren. Sie können mit Ansichten nicht falsch gehen, weil Sie ...