Hive er et datalagringsfasiliteter levert av Apache. Hive er bygget på toppen av Hadoop Distribuert File System (HDFS) for å skrive, lese, spørre og håndtere store strukturerte eller semistrukturerte data i distribuerte lagringssystemer som HDFS. Hver HiveQL blir konvertert til en MapReduce-jobb i backend. Hive gir Hive Query Language (HiveQL) som er som vanlig SQL i RDBMS. I likhet med SQL gir HiveQL også ORDER BY-leddet som kan brukes med SELECT-leddet. ORDER BY-funksjonen brukes til å sortere data enten i stigende eller synkende rekkefølge på kolonner spesifisert av brukeren.
Syntaks i bikube orden av
Nedenfor er syntaks i bikube rekkefølge av:
Grunnleggende syntaks:
SELECT, FROM ORDER BY ;
SELECT, FROM ORDER BY ;
BESTILL AV-ledd sammen med alle andre ledd:
SELECT DISTINCT, , FROM WHERE GROUP BY HAVING ORDER BY LIMIT ;
SELECT DISTINCT, , FROM WHERE GROUP BY HAVING ORDER BY LIMIT ;
Du kan også spesifisere ORDER BY 1 eller ORDER BY 2 der 1 og 2 representerer kolonnenummeret i stedet for å bruke ORDER BY. BESTILLING AV kan bare brukes når kolonnenavn er spesifisert i SELECT-leddet og ikke med SELECT * -bestemmelsen.
Hvordan kan vi bruke ORDER BY-funksjon i bikube?
Nedenfor forklares det at hvordan kan vi bruke orden etter funksjon i en bikube:
1. BESTILLING AV stigende og synkende
Som standard vil sorteringsrekkefølgen være stigende som viser den minste verdien i begynnelsen og den største verdien på slutten av resultatet, selv om du ikke spesifiserer den eksplisitt.
Du kan også spesifisere ORDER BY ASC for stigende rekkefølge og ORDER BY DESC for å sortere resultatet i synkende rekkefølge eller den spesifiserte kolonnen.
HiveQL-syntaks for ODER BY stigende rekkefølge kan vises som nedenfor:
SELECT, FROM ORDER BY ASC;
SELECT, FROM ORDER BY ASC;
HiveQL-syntaks for ODER BY synkende rekkefølge kan representeres som nedenfor:
SELECT, FROM ORDER BY DESC;
SELECT, FROM ORDER BY DESC;
Stigende og synkende klausuler kan brukes samtidig med flere kolonner i ORDER BY-leddet som vist nedenfor:
SELECT, FROM ORDER BY ASC DESC;
SELECT, FROM ORDER BY ASC DESC;
2. BESTILLING AV og NULL-verdier
De siste versjonene av Hive støtter også sorteringsrekkefølge for NULL-verdi.
Som standard er sorteringsrekkefølgen for NULL-verdier for ORDER BY ASC NULLS FIRST. Den sorterer alle NULL-verdiene til begynnelsen av det sorterte resultatet.
Tilsvarende er sorteringsrekkefølgen for NULL-verdier for ORDER BY DESC som standard NULLS LAST. Den sorterer alle NULL-verdiene til slutten av det sorterte resultatet.
Du kan også spesifisere NULLS FIRST og NULLS LAST sammen med ORDER BY ASC eller med ORDER BY DESC i henhold til dine krav og bekvemmelighet.
Syntaks for NULLS FIRST-ledd sammen med ORDER BY stigende:
SELECT, FROM ORDER BY ASC NULLS LAST;
SELECT, FROM ORDER BY ASC NULLS LAST;
Syntaks for NULLS LAST-ledd sammen med BESTILLING AV synkende:
SELECT, FROM ORDER BY DESC NULLS FIRST;
SELECT, FROM ORDER BY DESC NULLS FIRST;
3. BESTILLING AV OG BEGRENSNINGSKlausul
LIMIT-leddet er valgfritt med ORDER BY-leddet.
LIMIT klausul kan brukes til å forbedre ytelsen. LIMIT klausul kan brukes for å unngå unødvendig databehandling.
LIMIT klausul vil bare velge det begrensede antall verdier fra resultatet for bekreftelsesformålet.
LIMIT-ledd med ORDER By-ledd kan vises som nedenfor:
SELECT, FROM ORDER BY ASC LIMIT 10;
SELECT, FROM ORDER BY ASC LIMIT 10;
ORDER BY-ledd kan også kombineres med OFFSET-leddet og LIMIT-leddet for å redusere mengden på resultatet. Syntaks av det samme kan vises som:
SELECT, FROM ORDER BY ASC LIMIT 10 OFFSET 10;
SELECT, FROM ORDER BY ASC LIMIT 10 OFFSET 10;
Eksempler i Hive Order By
Vurder følgende eksempletabell Ansatt som inneholder Ansatt-ID som EmpID, Ansattes navn som EmpName, Betegnelse, avdeling som avd., Jobbenivå som JL og lønn.
Eksempel 1
Kode:
SELECT * FROM Employee ORDER BY JL ASC;
Produksjon:
Eksempel 2
Kode:
SELECT * FROM Employee ORDER BY Salary DESC LIMIT 3;
Produksjon:
Eksempel 3
Kode:
SELECT EmpId, EmpName, Designation, Dept FROM Employee where Salary < 50000 ORDER BY EmpName ASC JL ASC;
Produksjon:
Konklusjon
ORDER BY i Hive lar deg sortere data i stigende eller synkende rekkefølge. BESTILLING AV kan kombineres med andre klausuler for å få sortert data. ORDER BY er forskjellig fra SORT BY ettersom SORT BY sorterer dataene i et reduseringsapparat, men ORDER BY sorterer hele dataene.
Anbefalte artikler
Dette er en guide til Hive Order By. Her diskuterer vi Hvordan kan vi bruke orden etter funksjon i en bikube, og forskjellige eksempler med koder og utganger. Du kan også gå gjennom andre relaterte artikler for å lære mer -