Huis Persoonlijke financiën Venster in HiveQL - dummies

Venster in HiveQL - dummies

Video: 'Venster' november 2019 2024

Video: 'Venster' november 2019 2024
Anonim

Het concept van -vensters, geïntroduceerd in de SQL: 2003-standaard, laat de SQL-programmeur een frame maken van de gegevens waartegen aggregaat en andere vensterfuncties kunnen werken. HiveQL ondersteunt nu vensterbewerking volgens de SQL-standaard. Voorbeelden zijn heel nuttig bij het toelichten van venster- en verzamelfuncties.

Vertrekvertragingen komen met het gebied wanneer vliegen de door u gekozen reiswijze is. Het is dan ook geen verrassing dat de RITA-gecompileerde vluchtgegevens deze informatie bevatten. & Ldquo; Wat is precies de gemiddelde vluchtvertraging per dag & rdquo; ? De query in de volgende lijst geeft de gemiddelde vertrekvertraging per dag in 2008.

(A) component (vluchtgegevens)> CREATE VIEW avgdepdelay AS> SELECT DayOfWeek, AVG (DepDelay) FROM FlightInfo2008 GROUP BY DayOfWeek; OK Gemaakte tijd: 0. 121 seconden (B) component (vluchtgegevens)> 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 Benodigde tijd: 18. 6 seconden, opgehaald: 7 rij (len)

TGIF, of & ldquo; Godzijdank is het vrijdag, & rdquo; is niet voor iedereen van toepassing. Het zou geen verrassing zijn dat vrijdag - dag 5 onder de resultaten in stap (B) - het grootste aantal vertragingen had.

Hoe dan ook, over die vraag in stap (A): de definitie-taal van Hive (DDL) bevat ook de CREATE VIEW-instructie, wat best handig kan zijn. In Hive laten views toe dat een query wordt opgeslagen, maar de gegevens worden niet opgeslagen zoals bij de instructie Create Table as Select (CTAS).

Wanneer naar een weergave wordt verwezen in HiveQL, voert Hive de query uit en gebruikt vervolgens de resultaten, die deel zouden kunnen uitmaken van een grotere query. Dit kan erg handig zijn om complexe query's te vereenvoudigen en op te splitsen in logische componenten. Houd ook rekening met de GROUP BY-component, die alle dagen per week verzamelt en waarmee de AVG-aggregatiefunctie een geconsolideerd antwoord per dag biedt.

Deze informatie is natuurlijk nuttig, maar wat als u enkele individuele nummers per dag wilt zien? Consolideer de gegevens met GROUP BY en u heeft het antwoord dat u zoekt, hoewel u ook informatie bent verloren. Het oplossen van dit probleem van informatieverlies is waar ruiten heel handig worden.

Hier is nog een vraag over de vluchtgegevens van RITA 2008 die Apache Hive kan beantwoorden: & ldquo; Wat is de eerste vlucht tussen Airport X en Y & rdquo; ? Stel dat u naast deze informatie meer wilt weten over vervolgvluchten, voor het geval u geen & ldquo; ochtendpersoon.& Rdquo; Nou, dit is een taak voor het windowen in HiveQL! De volgende lijst biedt u een vraag die deze vragen beantwoordt.

(A) bijenkorf (vluchtgegevens)> SELECT f08. Maand, f08. DayOfMonth, cr. beschrijving, f08. Oorsprong, f08. Dest, f08. FlightNum, f08. DepTime, MIN (f08, DepTime) OVER (PARTITION BY f08. DayOfMonth ORDER BY f08. DepTime) FROM flightinfo2008 f08 JOIN Carriers cr ON f08. UniqueCarrier = cr. code WAAR f08. Oorsprong = 'JFK' EN f08. Dest = 'ORD' EN f08. Maand = 1 AND 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 ComF 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 stap (A) is de GROUP BY-component vervangen door de OVER-clausule waarin u de PARTITION of venster waarover u de MIN-aggregatiefunctie wilt laten werken. Ook inbegrepen is de ORDER BY-component, zodat u die volgende vluchten kunt zien na de eerste.

Zoals je kunt zien in de aanbieding, heeft JetBlue op 31 januari een leuke, vroege vlucht om 12: 48 uur. m. - Kies voor een latere, om 6: 35 uur. m. Problemen met de vroege stijger, houd er rekening mee dat u de informatie in de query-uitvoer hebt bewaard die verloren zou zijn gegaan als u opnieuw een GROUP BY-component had gebruikt.

Deze mogelijkheid alleen al maakt vensterfuncties een krachtige functie en er is meer. Samen met de vensters in de Hive 0. 11-release heeft de community enkele analytische functies geleverd die u kunt gebruiken in combinatie met windowing. Tot uw beschikking staan ​​ook deze functies: RANG, ROW_NUMBER, DENSE_RANK, CUME_DIST, PERCENT_RANK en NTILE.

Mis het gebruik van JOIN niet: het is een realistisch, praktisch voorbeeld van een inner join waarbij je lid wordt van de FlightInfo2008-tabel met de Carriers-tabel om de naam van de luchtvaartmaatschappij te krijgen - eerder dan de cryptische code die te vinden is in de FlightInfo2008-tabel.

Venster in HiveQL - dummies

Bewerkers keuze

Tien Helpbronnen voor Junos OS - dummies

Tien Helpbronnen voor Junos OS - dummies

Dit is een top-tien lijst met bronnen die u moet zoeken meer informatie over softwarebewerkingen, training en ondersteuning voor Junos - alle extra details die u mogelijk nodig heeft om Junos OS te kunnen configureren en bedienen in uw eigen netwerkimplementaties. CLI Help-commando's Bent u op zoek naar meer achtergrondinformatie over hoe een bepaalde functie ...

De functie van de drie vlakken van Junos netwerk OS - dummies

De functie van de drie vlakken van Junos netwerk OS - dummies

De architectuur van de Junos opererende systeem verdeelt de functies van besturing, services en doorsturen op verschillende niveaus. Elk van de vlakken van Junos OS biedt een kritieke set van functionaliteit in de werking van het netwerk. Besturingsvlak van het Junos-netwerkbesturingssysteem (NOS) Alle functies van het besturingsvlak lopen op ...

De basisprincipes van BGP-routebealing - dummy's

De basisprincipes van BGP-routebealing - dummy's

Het configureren van Border Gateway Protocol (BGP) kan nogal lastig zijn, vooral met grote aantallen peersessies die handmatig moeten worden geconfigureerd. In feite kan in een groot netwerk de full-mesh-vereiste voor IBGP een provisioning-nachtmerrie zijn. BGP's antwoord op de IBGP-paring-configuratie-nachtmerrie die het volledige maaswerk is, wordt routeberefening genoemd. Route ...

Bewerkers keuze

Noodzakelijke elementen voor SEO om hoge trefwoorden te krijgen - dummies

Noodzakelijke elementen voor SEO om hoge trefwoorden te krijgen - dummies

Als de allerbeste locatie op het web staat op de pagina een van de zoekmachines, je moet de SEO-elementen kennen die je daar kunnen brengen. Een goede plek om te beginnen is met zoekwoorden. Zoekmachines gebruiken geavanceerde processen om zoekwoordgebruik en andere factoren te categoriseren en analyseren om erachter te komen ...

Persberichten als bron van SEO-inhoud - dummies

Persberichten als bron van SEO-inhoud - dummies

Het leuke aan persberichten is dat u ze zonder toestemming op uw website kunt gebruiken, en sommige zullen al voor de zoekmachine zijn geoptimaliseerd. Het doel van een persbericht is om het uit te sturen en te zien wie het ophaalt. U hoeft geen contact op te nemen met de eigenaar van het persbericht, omdat ...

Kies een domeinnaam die geoptimaliseerd is voor zoekmachines - dummies

Kies een domeinnaam die geoptimaliseerd is voor zoekmachines - dummies

Zelfs de domeinnaam van uw site moet geoptimaliseerd voor zoekmachines. Zoekmachines lezen uniforme resource locators (URL's), op zoek naar sleutelwoorden erin. Bijvoorbeeld als u een website heeft met de domeinnaam knaagdierracen. com en iemand zoekt Google op knaagdierenraces, Google ziet rodent-racing als een wedstrijd; omdat er een streepje verschijnt tussen de twee ...

Bewerkers keuze

Praxis Elementair onderwijs Examen-Economie - dummies

Praxis Elementair onderwijs Examen-Economie - dummies

U zult enkele basisconcepten van de economie voor de Praxis moeten kennen Elementair onderwijs examen. Elementaire economie onderzoekt de wens voor, de productie van en de verkoop en het gebruik van geld, zowel lokaal als wereldwijd. Het onderwijzen van economie omvat concepten zoals behoeften versus behoeften, kosten en meer tot nadenken stemmende onderwerpen, zoals de volgende: ...

Praxis Elementair onderwijs voor Dummy's Cheat Sheet - dummies

Praxis Elementair onderwijs voor Dummy's Cheat Sheet - dummies

Het Praxis basisonderwijs: Curriculum, instructie en beoordeling examen (5017) bestrijkt een breed scala van wat u moet weten over basisonderwijs. Als u het Praxis Elementary Education: Content Knowledge-examen (5018) neemt, moet u zich ervan bewust zijn dat het de dekking beperkt tot de inhoud van de vier hoofdonderwerpen die een elementaire leraar is ...

Praxis Core For Dummies Cheat Sheet - dummies

Praxis Core For Dummies Cheat Sheet - dummies

Voordat je te opgewonden raakt, begrijp dat de informatie die volgt niet klopt eigenlijk niet over het bedriegen van de Praxis. Het gaat echt meer om de meest efficiënte manieren om je voor te bereiden op het examen. Maar "voorbereidingsblad" heeft niet helemaal dezelfde reden. Trouwens, vals spelen is niet nodig als je weet wat je aan het doen bent, en ...