Hjem Personlig finansiering Vinduer i HiveQL-dummies

Vinduer i HiveQL-dummies

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

Video: Åbne vinduer i bilvask | Alle mod 1 | DR1 2025
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

Hvordan beskrives et datasett statistisk for GEDs vitenskapstest - dummies

Hvordan beskrives et datasett statistisk for GEDs vitenskapstest - dummies

GED Science test vil stille spørsmål relatert til beskrivende statistikk. Du kan ofte oppsummere en samling av data (fra et eksperiment, observasjoner eller undersøkelser, for eksempel) ved å bruke beskrivende statistikk, tall som brukes til å oppsummere og analysere dataene og trekke konklusjoner fra det. Beskrivende statistikk for en samling av data inkluderer følgende: Frekvens: ...

Hvordan forutsi en utgang basert på data eller bevis på GED-vitenskapstesten

Hvordan forutsi en utgang basert på data eller bevis på GED-vitenskapstesten

Bruk av bevis for å forutsi utfall er en nødvendig ferdighet for GED Science-testen. De største fordelene med vitenskapelige studier kan ofte tilskrives det faktum at deres konklusjoner gjør det mulig for folk å forutsi utfall. (Du vil sikkert ønske vitenskap kan hjelpe deg med å forutsi utfallet ditt på prøve!) Du er vitne til vitenskap i handling hver dag ...

Hvordan man måler en forfatters troverdighet for GEDs samfunnsstudietest - dummies

Hvordan man måler en forfatters troverdighet for GEDs samfunnsstudietest - dummies

GED Social Studies test vil stille spørsmål som krever at du bestemmer troverdigheten til en forfatter. Det er ikke alltid lett å vurdere om en forfatter er troverdig basert på informasjonen som er gitt i en skriftlig oversikt og referansen, men du kan hente spor ved å nøye undersøke følgende områder: Forfatterens ...

Redaktørens valg

Hva skjer i QuickBooks 2013 Setup? - dummies

Hva skjer i QuickBooks 2013 Setup? - dummies

Etter at du har installert QuickBooks 2013, kjører du en skjermveiviser for å sette opp QuickBooks for firmaets regnskap. Klart, denne skjermveiviseren kalles QuickBooks Setup. Når du kjører QuickBooks Setup, gir du ganske mye informasjon til QuickBooks. Som en praktisk sak krever oppsettet og oppsettet etter oppsettet at du har ...

Leverandørmenykommandoer i QuickBooks 2013 - dummies

Leverandørmenykommandoer i QuickBooks 2013 - dummies

Når du jobber med betalbar betaling i QuickBooks 2013, har du ofte vil bruke flere av kommandoene på leverandørmenyen. Noen av kommandoene er imidlertid ikke så populære, men du må fortsatt være klar over deres formål. Leverandørssenter i QuickBooks 2013 Vendor Center-vinduet viser en liste over leverandører og detaljerte ...

Kommandoer for leverandørmeny i QuickBooks 2014 - dummies

Kommandoer for leverandørmeny i QuickBooks 2014 - dummies

Når du jobber med betalbar betaling i QuickBooks 2014, har du ofte vil bruke flere av kommandoene på leverandørmenyen. Noen av kommandoene er imidlertid ikke så populære, men du må fortsatt være klar over deres formål. Leverandørssenter Vendor Center-vinduet viser en liste over leverandører og detaljert leverandørinformasjon for ...