Úľ je zariadenie na ukladanie údajov poskytované spoločnosťou Apache. Hive je postavený na vrchu distribuovaného systému súborov Hadoop (HDFS) na písanie, čítanie, dopytovanie a správu veľkých štruktúrovaných alebo pološtrukturovaných údajov v distribuovaných úložných systémoch, ako je HDFS. Každá HiveQL bude prevedená do úlohy MapReduce v koncovom prostredí. Úľ poskytuje Hive Query Language (HiveQL), ktorý je ako normálny SQL v RDBMS. Rovnako ako SQL, aj HiveQL poskytuje klauzulu ORDER BY, ktorú je možné použiť s klauzuliou SELECT. Funkcia OBJEDNÁVKA BY sa používa na triedenie údajov vo vzostupnom alebo zostupnom poradí podľa stĺpcov určených používateľom.
Syntax v poradí podľa
Nižšie je uvedená syntax v poradí podľa:
Základná syntax:
SELECT, FROM ORDER BY ;
SELECT, FROM ORDER BY ;
Klauzula OBJEDNÁVKA spolu so všetkými ostatnými doložkami:
SELECT DISTINCT, , FROM WHERE GROUP BY HAVING ORDER BY LIMIT ;
SELECT DISTINCT, , FROM WHERE GROUP BY HAVING ORDER BY LIMIT ;
Môžete tiež zadať OBJEDNÁVKU 1 alebo OBJEDNÁVKU 2, kde 1 a 2 predstavujú číslo stĺpca namiesto použitia OBJEDNÁVKA BY. OBJEDNÁVKU BY sa dá použiť, len ak sú názvy stĺpcov uvedené v klauzuli SELECT a nie v klauzuli SELECT *.
Ako môžeme použiť funkciu OBJEDNÁVKA POD Úľ?
Vysvetlenie nižšie ukazuje, ako môžeme použiť poradie podľa funkcie v úli:
1. OBJEDNAŤ vzostupne a zostupne
V predvolenom nastavení bude zoradené poradie vzostupne, ktoré zobrazuje najmenšiu hodnotu na začiatku a najväčšiu hodnotu na konci výsledku, aj keď ju výslovne neurčíte.
Môžete tiež určiť OBJEDNÁVKU PODĽA ASC pre vzostupné poradie a OBJEDNAŤ POPIS pre triedenie výsledku v zostupnom poradí alebo v zadanom stĺpci.
Syntax HiveQL pre vzostupné poradie ODER BY sa zobrazuje takto:
SELECT, FROM ORDER BY ASC;
SELECT, FROM ORDER BY ASC;
Syntax HiveQL pre zostupné poradie ODER BY sa dá znázorniť takto:
SELECT, FROM ORDER BY DESC;
SELECT, FROM ORDER BY DESC;
Klauzule vzostupne a zostupne sa môžu súčasne používať s viacerými stĺpcami v doložke ORDER BY, ako je uvedené nižšie:
SELECT, FROM ORDER BY ASC DESC;
SELECT, FROM ORDER BY ASC DESC;
2. Hodnoty OBJEDNAŤ BY a NULL
Najnovšie verzie Hive podporujú poradie triedenia aj pre hodnotu NULL.
V predvolenom nastavení je poradie zoradenia NULL hodnôt pre OBJEDNÁVKU ASC NULLS FIRST. Zoradí všetky hodnoty NULL na začiatok triedeného výsledku.
Podobne je poradie zoradenia NULL hodnôt pre OBJEDNAT POPIS štandardne NULLS LAST. Zoradí všetky hodnoty NULL do konca zoradeného výsledku.
Môžete tiež určiť NULLS FIRST a NULLS LAST spolu s OBJEDNÁVKOU ASC alebo OBJEDNÁVKA POPISOM podľa vašich požiadaviek a pohodlia.
Syntax klauzuly NULLS FIRST spolu s vzostupným poradím ORDER BY:
SELECT, FROM ORDER BY ASC NULLS LAST;
SELECT, FROM ORDER BY ASC NULLS LAST;
Syntax klauzuly NULLS LAST spolu s zostupným zoradením:
SELECT, FROM ORDER BY DESC NULLS FIRST;
SELECT, FROM ORDER BY DESC NULLS FIRST;
3. Doložka o objednávke a obmedzení
Klauzula LIMIT je voliteľná pre klauzulu ORDER BY.
Klauzulu LIMIT je možné použiť na zlepšenie výkonu. Klauzulu LIMIT je možné použiť na zabránenie zbytočnému spracovaniu údajov.
Doložka LIMIT vyberie z výsledku na účely overenia iba obmedzený počet hodnôt.
Klauzula LIMIT s klauzúrou ORDER By sa zobrazuje takto:
SELECT, FROM ORDER BY ASC LIMIT 10;
SELECT, FROM ORDER BY ASC LIMIT 10;
Klauzulu ORDER BY je možné kombinovať aj s klauzulami OFFSET a LIMIT, aby sa znížilo množstvo výsledku. Syntax toho istého môže byť zobrazená ako:
SELECT, FROM ORDER BY ASC LIMIT 10 OFFSET 10;
SELECT, FROM ORDER BY ASC LIMIT 10 OFFSET 10;
Príklady v poradí podľa úľa:
Zoberme si nasledujúcu tabuľku s príkladom Zamestnanec, ktorý obsahuje ID zamestnanca ako EmpID, meno zamestnanca ako EmpName, Označenie, Oddelenie ako oddelenie, Úroveň úlohy ako JL a Mzda.
Príklad č. 1
kód:
SELECT * FROM Employee ORDER BY JL ASC;
Výkon:
Príklad č. 2
kód:
SELECT * FROM Employee ORDER BY Salary DESC LIMIT 3;
Výkon:
Príklad č. 3
kód:
SELECT EmpId, EmpName, Designation, Dept FROM Employee where Salary < 50000 ORDER BY EmpName ASC JL ASC;
Výkon:
záver
ORDER BY in Hive vám umožňuje triediť dáta vzostupne alebo zostupne. OBJEDNÁVKU BY sa dá kombinovať s inými doložkami, aby sa získali zoradené údaje. OBJEDNÁVKA BY sa líši od SORT BY ako SORT BY triedi údaje v reduktore, ale OBJEDNÁVKA triedi všetky údaje.
Odporúčané články
Toto je sprievodca Hive Order By. Tu diskutujeme o tom, ako môžeme použiť poradie podľa funkcie v úli a rôzne príklady s kódmi a výstupmi. Viac informácií nájdete aj v ďalších súvisiacich článkoch -