Hjem Personlig finansiering Vinduer i HiveQL-dummies

Vinduer i HiveQL-dummies

Video: Åbne vinduer i bilvask | Alle mod 1 | DR1 2024

Video: Åbne vinduer i bilvask | Alle mod 1 | DR1 2024
Anonim

Begrepet windowing, introdusert i SQL: 2003-standarden, tillater SQL programmerer å lage en ramme fra dataene som aggregat og andre vindufunksjoner kan fungere. HiveQL støtter nå vinduer per SQL-standard. Eksempler er ganske nyttige når man forklarer vinduer og aggregatfunksjoner.

Avreiseforsinkelser kommer med territoriet når du flyr er din valgte reisemodus. Det er ikke overraskende at RITA-kompilerte flydata inneholder denne informasjonen. & Ldquo; Hva er gjennomsnittlig flytur forsinkelse per dag & rdquo; ? Spørringen i følgende liste gir den gjennomsnittlige avgangsforsinkelsen per dag i 2008.

(A) hive (flightdata)> CREATE VIEW avgdepdelay AS> SELECT DayOfWeek, AVG (DepDelay) FRA FlightInfo2008 GROUP BY DayOfWeek; OK Tid tatt: 0. 121 sekunder (B) Hive (flightdata)> VELG * FRA avgdepdelay; … OK 1 10. 269990244459473 2 8. 97689712068735 3 8. 289761053658728 4 9. 772897177836702 5 12. 158036387869656 6 8. 645680904903614 7 11. 568973392595312 Tid tatt: 18. 6 sekunder, Fetched: 7 rad (er)

TGIF, eller & ldquo; Takk Gud Det er fredag, & rdquo; gjelder ikke for alle. Det bør ikke være overraskende at fredag ​​- dag 5 under resultatene i trinn (b) - hadde det høyeste antall forsinkelser.

Uansett, om spørringen i trinn (A): Hives Data Definition Language (DDL) inneholder også CREATE VIEW-setningen, som kan være ganske nyttig. I Hive gir visninger en forespørsel som skal lagres, men data lagres ikke som med Opprett tabell som Select (CTAS) -oppsett.

Når en visning er referert i HiveQL, utfører Hive spørringen og bruker deretter resultatene, som kan være en del av et større søk. Dette kan være svært nyttig for å forenkle komplekse spørringer og bryte dem ned i logiske komponenter. Legg merke til GROUP BY-klausulen, som samler alle dager i uken, og lar AVG-aggregatfunksjonen gi et konsolidert svar per dag.

Denne informasjonen er nyttig, selvfølgelig, men hva om du vil se noen individuelle numre per dag? Konsolidere dataene med GROUP BY, og du har svaret du leter etter, selv om du også har mistet informasjonen. Å løse dette problemet med tap av informasjon er hvor vindusvisning blir ganske nyttig.

Her er et annet spørsmål om RITA 2008 flydata som Apache Hive kan svare: & ldquo; Hva er det første flyet mellom Airport X og Y & rdquo; ? Anta at i tillegg til denne informasjonen, vil du vite om påfølgende fly, bare hvis du ikke er en & ldquo; morgenfugl.& Rdquo; Vel, dette er en jobb for windowing i HiveQL! Følgende liste gir deg et spørsmål som svarer på disse spørsmålene.

(A) hive (flightdata)> VELG f08. Måned, f08. DayOfMonth, cr. beskrivelse, f08. Opprinnelse, f08. Dest, f08. FlightNum, f08. DepTime, MIN (f08. DepTime) OVER (DELISJON AV F08. DagOfMonth ORDER BY f08. DepTime) FRA flightinfo2008 f08 BLI MED BOLAGER CR ON f08. UniqueCarrier = cr. kode hvor f08. Opprinnelse = 'JFK' OG F08. Dest = 'ORD' OG F08. Måned = 1 og 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

I trinn (A) ble GROUP BY-klausulen erstattet med OVER-klausulen der du angir PARTITION eller vindu over hvilken du vil at MIN aggregatfunksjonen skal fungere. Også inkludert er ORDER BY-klausulen, slik at du kan se de påfølgende flyene etter den første.

Som du kan se fra noteringen, den 31. januar, har JetBlue et fint tidlig fly på 12: 48 a. m. -Velg for en senere, klokka 6:35 a. m. Tidligere riserproblemer til side, merk at du har beholdt informasjonen i spørringsutgangen som ville ha gått tapt hvis du hadde valgt å bruke en GROUP BY-setning på nytt.

Denne egenskapen alene gjør vinduer en kraftig funksjon, og det er mer. Sammen med windowing i Hive 0. 11-utgivelsen ga samfunnet noen analysefunksjoner som du kan bruke sammen med vinduer. Også til din disposisjon er disse funksjonene: RANK, ROW_NUMBER, DENSE_RANK, CUME_DIST, PERCENT_RANK og NTILE.

Til slutt, ikke gå glipp av bruk av JOIN: Det er et praktisk, praktisk eksempel på en indre sammenheng der du går med i FlightInfo2008-bordet med Carriers-bordet for å få navnet på flyselskapet - heller enn den kryptiske koden som er funnet i FlightInfo2008-tabellen.

Vinduer i HiveQL-dummies

Redaktørens valg

Speil Lockup (MUP) på Nikon D7100-dummies

Speil Lockup (MUP) på Nikon D7100-dummies

En komponent i det optiske systemet til din Nikon D7100 kamera er et speil som beveger seg hver gang du trykker på lukkerknappen. Den lille vibrasjonen som følge av speilets handling kan føre til svak utryddelse av bildet når du bruker en veldig langsom lukkerhastighet, skyter med en lang teleobjektiv, ...

Opptaksmuligheter på Nikon D5300 - dummies

Opptaksmuligheter på Nikon D5300 - dummies

Du kan styre noen få aspekter av din filmoppgave på din Nikon D5300. Du kan manipulere videoen din for å skape en rekke effekter. Følgende liste går gjennom disse alternativene: Eksponeringsmodus: Du kan ta opp filmer i hvilken som helst eksponeringsmodus (Auto, Scenemodus, Effektmodus, P, M, og så videre). Som med fortsatt ...

Hvordan man manipulerer eksponering og kontroll på Nikon D5600-dummies

Hvordan man manipulerer eksponering og kontroll på Nikon D5600-dummies

Følgende retusjonsverktøy på din Nikon D5600 kamerajustering eksponering og farge: D-Lighting, Quick Retouch, Filter Effects og Monochrome. Selv om disse verktøyene ikke får deg til å velge ett kamera over en annen, hvis du allerede har en Nikon D5600, er de tilgjengelige, så du kan også lære å bruke dem! D-Lighting: Active D-Lighting ...

Redaktørens valg

DOs og DON'Ts of Fantasy Basketball Draft Picks - dummies

DOs og DON'Ts of Fantasy Basketball Draft Picks - dummies

Hvis du vurderer bli med i en fantasy basketball liga, må du ta hensyn til følgende DOs og DON'Ts før du vurderer spillerne du vil utarbeide på laget ditt. Kreditt: © iStockphoto. com / IS_ImageSource Fantasy basketball draft pick DOS I de fleste fantasy basketball ligaer bestemmer kommisjonen (personen som setter opp ligaen) bestillingen i ...

Linjene og dimensjonene til en basketballbane - dummies

Linjene og dimensjonene til en basketballbane - dummies

En basketballbane har symmetri; Den ene halvdelen av retten er et speilbilde av den andre. Hele basketballbanen (se figur 1) er 94 fot med 50 fot. På hver halvplass viser malte linjer fritt korsbanen og sirkelen, samt trepunktsbuen, hvis avstand fra kurven varierer basert ...

Kjøp av gratis agenter i fantasy fotball - dummies

Kjøp av gratis agenter i fantasy fotball - dummies

I løpet av fantasy fotball sesongen, spillere som ikke blir utarbeidet bli gratis agenter - spillere tilgjengelig for enhver ligamatch villig til å slippe en eid spiller. Bruk gratis agentbassenget til å erstatte en skadet spiller eller noen som bare ikke lever opp til dine forventninger. Bruk disse tipsene for å finne en gratis agent for å ...

Redaktørens valg

Grunnleggende for din iOS-app - dummies

Grunnleggende for din iOS-app - dummies

Heldigvis mesteparten av det du trenger å gjøre så langt som iOS animasjon er opptatt er allerede bygd inn i rammen. Noen visningsegenskaper kan animeres, noe som betyr at du bare må fortelle visningen hvor du skal begynne og hvor du skal avslutte flyttingen, og noen få andre valgfrie parametere, og du er ferdig. ...

Montering av verktøylinjen for Android App Development - dummies

Montering av verktøylinjen for Android App Development - dummies

Når du vet at du er klar til være en Android-utvikler, ta tak i datamaskinen din og få sprekker på å installere verktøyene og rammene som er nødvendige for å bygge ditt første blockbuster-program. Linux-kjernen Android ble opprettet på toppen av åpen kildekode Linux-kjernen. Android-teamet valgte å bruke denne kjernen fordi den ga bevist ...

Grunnleggende om Cocoa Touch i iOS Apps - dummies

Grunnleggende om Cocoa Touch i iOS Apps - dummies

Cocoa Touch-laget inneholder det meste av objektet -orientert utvikler-vendt rammer for å bygge iOS applikasjoner. Det er ditt eneste utgangspunkt for app-utvikling. Apple-guiderne oppfordrer deg til å undersøke teknologiene i dette laget for å se om de oppfyller dine behov, før du ser på de andre lagene. Med andre ord, Apple har til hensikt å ...