A Hive az Apache által biztosított adattárolási létesítmény. A Hive a Hadoop elosztott fájlrendszere (HDFS) tetején épül fel, nagy strukturált vagy félig strukturált adatok írására, olvasására, lekérdezésére és kezelésére olyan elosztott tárolórendszerekben, mint például a HDFS. Minden HiveQL-t átalakítunk MapReduce-feladattá a háttérben. A Hive olyan Hive Query Language (HiveQL) szolgáltat, amely hasonló az RDBMS normál SQL-hez. Az SQL-hez hasonlóan a HiveQL is rendelkezik az ORDER BY záradékkal, amely használható a SELECT záradékkal. ORDER BY funkció az adatok rendezése növekvő vagy csökkenő sorrendben a felhasználó által megadott oszlopokon.
Szintaxis a kaptár sorrendjében
Az alábbiakban a szintaxis kaptárrendben van:
Alapszintaxis:
SELECT, FROM ORDER BY ;
SELECT, FROM ORDER BY ;
ORDER BY záradék, az összes többi záradékkal együtt:
SELECT DISTINCT, , FROM WHERE GROUP BY HAVING ORDER BY LIMIT ;
SELECT DISTINCT, , FROM WHERE GROUP BY HAVING ORDER BY LIMIT ;
Megadhatja azt is, hogy ORDER BY 1 vagy ORDER BY 2, ahol az 1 és a 2 az oszlop számát képviseli, az ORDER BY használata helyett. A ORDER BY csak akkor használható, ha az oszlopneveket a SELECT záradék adja meg, és nem a SELECT * záradékkal.
Hogyan használhatjuk a ORDER BY funkciót a kaptárban?
Az alábbiakban bemutatjuk, hogyan lehet használni a kaptár függvény szerinti rendezését:
1. RENDELÉS Növekvő és Csökkenő
Alapértelmezés szerint a rendezési sorrend növekvő lesz, amely a legkisebb értéket mutatja az eredmény elején és a legnagyobb értéket az eredmény végén, még akkor is, ha nem határozza meg kifejezetten.
Megadhatja azt is, hogy ORDER BY ASC növekvő sorrendben, ORDER BY DESC esetén pedig az eredmény csökkenő sorrendben vagy a megadott oszlopban van-e megadva.
Az ODER BY növekvő sorrendjének HiveQL szintaxisa az alábbiak szerint mutatható be:
SELECT, FROM ORDER BY ASC;
SELECT, FROM ORDER BY ASC;
A HiveQL szintaxisa csökkenő sorrendben az alábbiak szerint ábrázolható:
SELECT, FROM ORDER BY DESC;
SELECT, FROM ORDER BY DESC;
A növekvő és csökkenő záradékok egyidejűleg használhatók több oszlopban is az ORDER BY záradékban, az alábbiak szerint:
SELECT, FROM ORDER BY ASC DESC;
SELECT, FROM ORDER BY ASC DESC;
2. ORDER BY és NULL értékek
A Hive legújabb verziói támogatják a NULL érték szerinti rendezési sorrendet is.
Alapértelmezés szerint a NULL értékek rendezési sorrendje a ORDER BY ASC NULLS FIRST elemnél. Az összes NULL értéket a rendezett eredmény elejére rendezi.
Hasonlóképpen, a NULL értékek rendezési sorrendje a ORDER BY DESC-hez alapértelmezés szerint NULLS LAST. Az összes NULL-értéket a rendezett eredmény végéig rendezi.
Megadhatja a NULLS FIRST és NULLS LAST elemeket a ORDER BY ASC vagy a ORDER BY DESC rendellel együtt az Ön igényei és kényelme alapján.
A NULLS FIRST szintaxisa növekvő ORDER BY szintaxissal:
SELECT, FROM ORDER BY ASC NULLS LAST;
SELECT, FROM ORDER BY ASC NULLS LAST;
A NULLS LAST klauzula szintaxisa, a csökkenő ORDER-szel együtt:
SELECT, FROM ORDER BY DESC NULLS FIRST;
SELECT, FROM ORDER BY DESC NULLS FIRST;
3. RENDELKEZÉS ÉS KORLÁTOZÁS záradék
A LIMIT záradék választható az ORDER BY záradékkal.
A LIMIT záradék felhasználható a teljesítmény javítására. A LIMIT záradék felhasználható a felesleges adatfeldolgozás elkerülésére.
A LIMIT záradék csak a korlátozott számú értéket választja ki az eredményből az ellenőrzés céljából.
LIMIT záradék az ORDER By záradékkal az alábbiak szerint mutatható be:
SELECT, FROM ORDER BY ASC LIMIT 10;
SELECT, FROM ORDER BY ASC LIMIT 10;
A ORDER BY záradék kombinálható az OFFSET és a LIMIT záradékkal az eredmény mennyiségének csökkentése érdekében. Ugyanez a szintaxis megjeleníthető:
SELECT, FROM ORDER BY ASC LIMIT 10 OFFSET 10;
SELECT, FROM ORDER BY ASC LIMIT 10 OFFSET 10;
Példák a kaptár sorrendjébe
Fontolja meg a következő Munkavállalói példa táblázatot, amely tartalmazza a Munkavállalói azonosítót EmpID-ként, az Alkalmazott nevét EmpName-ként, Kijelölést, Osztályt mint Igazgatótanácsot, Munkahelyi szintet JL-ként és Fizetést.
1. példa
Kód:
SELECT * FROM Employee ORDER BY JL ASC;
Kimenet:
2. példa
Kód:
SELECT * FROM Employee ORDER BY Salary DESC LIMIT 3;
Kimenet:
3. példa
Kód:
SELECT EmpId, EmpName, Designation, Dept FROM Employee where Salary < 50000 ORDER BY EmpName ASC JL ASC;
Kimenet:
Következtetés
A RÉSZ VÉGZÉSE a kaptárban lehetővé teszi az adatok növekvő vagy csökkenő sorrendbe rendezését. A ORDER BY kombinálható más záradékokkal a rendezett adatok megszerzéséhez. A ORDER BY különbözik a SORT BY-tól, mivel a SORT BY az adatokat reduktoron belül rendezi, de a ORDER BY az összes adatot rendezi.
Ajánlott cikkek
Ez egy útmutató a Hive Order By-hoz. Itt tárgyaljuk, hogyan használhatjuk a kaptár funkció szerinti sorrendjét, és különféle példákat kódokkal és kimenetekkel. Megnézheti más kapcsolódó cikkeket is, ha többet szeretne megtudni -