Inleiding tot Hive Order By

Hive is een gegevensopslagfaciliteit die wordt aangeboden door Apache. Hive is gebouwd bovenop het Hadoop Distributed File System (HDFS) voor het schrijven, lezen, opvragen en beheren van grote gestructureerde of semi-gestructureerde gegevens in gedistribueerde opslagsystemen zoals HDFS. Elke HiveQL wordt geconverteerd naar een MapReduce-taak in de backend. Hive biedt Hive Query Language (HiveQL) die vergelijkbaar is met normale SQL in RDBMS. Net als SQL biedt HiveQL ook de clausule ORDER BY die kan worden gebruikt met de clausule SELECT. ORDER BY-functie wordt gebruikt om gegevens in oplopende of aflopende volgorde te sorteren op door de gebruiker opgegeven kolommen.

Syntaxis in bijenkorf

Hieronder staat de syntaxis in bijenkorfvolgorde door:

Basissyntaxis:

SELECT, FROM ORDER BY ;

SELECT, FROM ORDER BY ;

ORDER BY-clausule samen met alle andere clausules:

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

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

U kunt ook ORDER BY 1 of ORDER BY 2 opgeven waarbij 1 en 2 het kolomnummer vertegenwoordigen in plaats van ORDER BY te gebruiken. ORDER BY kan alleen worden gebruikt wanneer kolomnamen zijn opgegeven in de clausule SELECT en niet met de clausule SELECT *.

Hoe kunnen we de functie ORDER BY in Hive gebruiken?

De onderstaande uitleg laat zien hoe we order per functie in een component kunnen gebruiken:

1. BESTEL DOOR Oplopend en Aflopend

  • Standaard is de sorteervolgorde oplopend met de kleinste waarde aan het begin en de grootste waarde aan het einde van het resultaat, zelfs als u dit niet expliciet opgeeft.
  • U kunt ook ORDER BY ASC opgeven voor oplopende volgorde en ORDER BY DESC voor het sorteren van het resultaat in aflopende volgorde of de opgegeven kolom.
  • De HiveQL-syntaxis voor ODER BY oplopende volgorde kan als volgt worden weergegeven:

SELECT, FROM ORDER BY ASC;

SELECT, FROM ORDER BY ASC;

  • De syntaxis van HiveQL voor ODER BY aflopende volgorde kan als volgt worden weergegeven:

SELECT, FROM ORDER BY DESC;

SELECT, FROM ORDER BY DESC;

  • Oplopende en aflopende clausules kunnen gelijktijdig worden gebruikt met meerdere kolommen in de ORDER BY-clausule zoals hieronder weergegeven:

SELECT, FROM ORDER BY ASC DESC;

SELECT, FROM ORDER BY ASC DESC;

2. ORDER BY en NULL-waarden

  • De nieuwste versies van Hive ondersteunen ook de sorteervolgorde voor NULL-waarde.
  • Standaard is de sorteervolgorde van NULL-waarden voor ORDER BY ASC NULLS FIRST. Het sorteert alle NULL-waarden aan het begin van het gesorteerde resultaat.
  • Op dezelfde manier is de sorteervolgorde van NULL-waarden voor ORDER BY DESC standaard NULLS LAATSTE. Het sorteert alle NULL-waarden tot het einde van het gesorteerde resultaat.
  • U kunt ook NULLS FIRST en NULLS LAST opgeven samen met ORDER BY ASC of met ORDER BY DESC volgens uw vereisten en gemak.
  • Syntaxis van NULLS EERSTE clausule samen met BESTELLEN oplopend:

SELECT, FROM ORDER BY ASC NULLS LAST;

SELECT, FROM ORDER BY ASC NULLS LAST;

  • Syntaxis van NULLS LAATSTE clausule samen met ORDER BY aflopend:

SELECT, FROM ORDER BY DESC NULLS FIRST;

SELECT, FROM ORDER BY DESC NULLS FIRST;

3. BESTELLEN DOOR en LIMIT clausule

  • De clausule LIMIT is optioneel met de clausule ORDER BY.
  • De clausule LIMIT kan worden gebruikt om de prestaties te verbeteren. De clausule LIMIT kan worden gebruikt om onnodige gegevensverwerking te voorkomen.
  • De clausule LIMIT selecteert alleen het beperkte aantal waarden uit het resultaat voor verificatiedoeleinden.
  • LIMIT-clausule met ORDER By-clausule kan als volgt worden weergegeven:

SELECT, FROM ORDER BY ASC LIMIT 10;

SELECT, FROM ORDER BY ASC LIMIT 10;

  • De clausule ORDER BY kan ook worden gecombineerd met de clausule OFFSET en de clausule LIMIT om de hoeveelheid van het resultaat te verminderen. De syntaxis van hetzelfde kan worden weergegeven als:

SELECT, FROM ORDER BY ASC LIMIT 10 OFFSET 10;

SELECT, FROM ORDER BY ASC LIMIT 10 OFFSET 10;

Voorbeelden in Hive Order By

Beschouw de volgende voorbeeldtabel Werknemer die Werknemer-ID als EmpID, Naam werknemer als EmpName, Aanwijzing, Afdeling als Afd., Functieniveau als JL en Salaris bevat.

Voorbeeld 1

Code:

SELECT * FROM Employee ORDER BY JL ASC;

Output:

Voorbeeld 2

Code:

SELECT * FROM Employee ORDER BY Salary DESC LIMIT 3;

Output:

Voorbeeld 3

Code:

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

Output:

Conclusie

Met ORDER BY in Hive kunt u gegevens sorteren in oplopende of aflopende volgorde. ORDER BY kan worden gecombineerd met andere clausules om de gesorteerde gegevens te krijgen. ORDER BY verschilt van SORT BY, aangezien SORT BY de gegevens in een verkleiner sorteert, maar ORDER BY de volledige gegevens sorteert.

Aanbevolen artikelen

Dit is een gids voor Hive Order By. Hier bespreken we hoe we orde per functie in een component kunnen gebruiken, en verschillende voorbeelden met codes en uitgangen. U kunt ook onze andere gerelateerde artikelen doornemen voor meer informatie -

  1. Bijenkorf ingebouwde functies
  2. Wat is een bijenkorf?
  3. Hoe Hive te installeren
  4. Bijenkorffunctie
  5. Versies van het tableau
  6. Bijenkorfinstallatie
  7. Voorbeelden van ingebouwde Python-functies

Categorie: