Introduktion till Hive Order by

Hive är en datalagringsanläggning som tillhandahålls av Apache. Hive är byggd ovanpå Hadoop Distribuerat filsystem (HDFS) för att skriva, läsa, fråga och hantera stora strukturerade eller halvstrukturerade data i distribuerade lagringssystem som HDFS. Varje HiveQL konverteras till ett MapReduce-jobb i backend. Hive tillhandahåller Hive Query Language (HiveQL) som är som vanlig SQL i RDBMS. Liksom SQL tillhandahåller HiveQL också ORDER BY-klausulen som kan användas med SELECT-klausulen. ORDER BY-funktionen används för att sortera data antingen i stigande eller fallande ordning i kolumner som anges av användaren.

Syntax i Hive Order By

Nedan är syntaxen i bikupor efter:

Grundläggande syntax:

SELECT, FROM ORDER BY ;

SELECT, FROM ORDER BY ;

ORDER BY-klausul tillsammans med alla andra klausuler:

SELECT DISTINCT, , FROM WHERE GROUP BY HAVING ORDER BY LIMIT ;

SELECT DISTINCT, , FROM WHERE GROUP BY HAVING ORDER BY LIMIT ;

Du kan också ange ORDER BY 1 eller ORDER BY 2 där 1 och 2 representerar kolumnnumret istället för att använda ORDER BY. ORDER BY kan endast användas när kolumnnamn anges i SELECT-klausulen och inte med SELECT * -klausulen.

Hur kan vi använda ORDER BY-funktion i Hive?

Nedanstående förklaring visar hur vi kan använda ordning efter funktion i en bikupa:

1. BESTÄLLNING AV STIGT OCH FALLEN

  • Som standard kommer sorteringsordningen att stiga som visar det minsta värdet i början och det största värdet i slutet av resultatet, även om du inte anger det uttryckligen.
  • Du kan också ange ORDER BY ASC för stigande ordning och ORDER BY DESC för att sortera resultatet i fallande ordning eller den angivna kolumnen.
  • HiveQL-syntaxen för ODER BY stigande ordning kan visas enligt nedan:

SELECT, FROM ORDER BY ASC;

SELECT, FROM ORDER BY ASC;

  • HiveQL-syntaxen för ODER BY-fallande ordning kan representeras enligt nedan:

SELECT, FROM ORDER BY DESC;

SELECT, FROM ORDER BY DESC;

  • Stigande och fallande klausuler kan användas samtidigt med flera kolumner i ORDER BY-klausulen som visas nedan:

SELECT, FROM ORDER BY ASC DESC;

SELECT, FROM ORDER BY ASC DESC;

2. ORDER BY och NULL-värden

  • De senaste versionerna av Hive stöder också sorteringsordning för NULL-värde.
  • Som standard är sorteringsordningen för NULL-värden för ORDER BY ASC NULLS FIRST. Den sorterar alla NULL-värden till början av det sorterade resultatet.
  • På samma sätt är sorteringsordningen för NULL-värden för ORDER BY DESC som standard NULLS LAST. Det sorterar alla NULL-värden till slutet av det sorterade resultatet.
  • Du kan också ange NULLS FIRST och NULLS SIST tillsammans med ORDER BY ASC eller med ORDER BY DESC enligt dina krav och bekvämlighet.
  • Syntax av NULLS FIRST-klausulen tillsammans med ORDER BY stigande:

SELECT, FROM ORDER BY ASC NULLS LAST;

SELECT, FROM ORDER BY ASC NULLS LAST;

  • Syntax av NULLS LAST-klausulen tillsammans med ORDER BY nedåt:

SELECT, FROM ORDER BY DESC NULLS FIRST;

SELECT, FROM ORDER BY DESC NULLS FIRST;

3. Beställ av och begränsa klausulen

  • LIMIT-klausulen är valfri med ORDER BY-klausulen.
  • LIMIT-klausul kan användas för att förbättra prestandan. LIMIT-klausul kan användas för att undvika onödig databehandling.
  • LIMIT-klausul kommer endast att välja det begränsade antalet värden från resultatet för verifieringsändamålet.
  • LIMIT-klausul med ORDER By-klausul kan visas som nedan:

SELECT, FROM ORDER BY ASC LIMIT 10;

SELECT, FROM ORDER BY ASC LIMIT 10;

  • ORDER BY-klausulen kan också kombineras med OFFSET-klausulen och LIMIT-klausulen för att minska resultatet. Syntax av samma kan visas som:

SELECT, FROM ORDER BY ASC LIMIT 10 OFFSET 10;

SELECT, FROM ORDER BY ASC LIMIT 10 OFFSET 10;

Exempel i Hive Order By

Tänk på följande provtabell Anställd som innehåller anställds id som EmpID, anställdas namn som EmpName, Beteckning, avdelning som avdelning, jobbnivå som JL och lön.

Exempel 1

Koda:

SELECT * FROM Employee ORDER BY JL ASC;

Produktion:

Exempel 2

Koda:

SELECT * FROM Employee ORDER BY Salary DESC LIMIT 3;

Produktion:

Exempel 3

Koda:

SELECT EmpId, EmpName, Designation, Dept FROM Employee where Salary < 50000 ORDER BY EmpName ASC JL ASC;

Produktion:

Slutsats

ORDER BY i Hive låter dig sortera data i antingen stigande eller fallande ordning. ORDER BY kan kombineras med andra klausuler för att få sorterade data. ORDER BY skiljer sig från Sortera efter eftersom Sortera BY sorterar data inom en reducerare men ORDER BY sorterar hela data.

Rekommenderade artiklar

Detta är en guide till Hive Order By. Här diskuterar vi hur vi kan använda ordning efter funktion i en bikupa och olika exempel med koder och utgångar. Du kan också gå igenom våra andra relaterade artiklar för att lära dig mer -

  1. Hive Inbyggda funktioner
  2. Vad är en bikupa?
  3. Hur man installerar Hive
  4. Hive-funktion
  5. Tableau-versioner
  6. Hiveinstallation
  7. Exempel på inbyggda Python-funktioner

Kategori: