Hive е съоръжение за съхранение на данни, предоставено от Apache. Hive е изграден върху горната част на разпределената файлова система (Hidoop) за писане, четене, запитвания и управление на големи структурирани или полуструктурирани данни в разпределени системи за съхранение, като HDFS. Всеки HiveQL ще бъде преобразуван в задание MapReduce в задния ред. Hive предоставя Hive Query Language (HiveQL), който е като нормален SQL в RDBMS. Подобно на SQL, HiveQL предоставя и клаузата ORDER BY, която може да се използва с клаузата SELECT. ORDER BY функцията се използва за сортиране на данни във възходящ или низходящ ред на колони, посочени от потребителя.
Синтаксис в кошерен ред от
По-долу е синтаксисът в ред на кошера по:
Основен синтаксис:
SELECT, FROM ORDER BY ;
SELECT, FROM ORDER BY ;
Клауза ORDER BY, заедно с всички други клаузи:
SELECT DISTINCT, , FROM WHERE GROUP BY HAVING ORDER BY LIMIT ;
SELECT DISTINCT, , FROM WHERE GROUP BY HAVING ORDER BY LIMIT ;
Можете също да зададете ORDER BY 1 или ORDER BY 2, където 1 и 2 представляват номера на колоната, вместо да използвате ORDER BY. ORDER BY може да се използва само когато имената на колоните са посочени в клаузата SELECT, а не с клаузата SELECT *.
Как можем да използваме ПОРЪЧКА ПО функция в кошер?
По-долу обяснение показва, че как можем да използваме ред по функция в кошер:
1. ПОРЪЧАЙТЕ Чрез възходяща и низходяща
По подразбиране редът за сортиране ще бъде възходящ, което показва най-малката стойност в началото и най-голямата стойност в края на резултата, дори ако не я посочите изрично.
Можете също така да зададете ORDER BY ASC за възходящ ред и ORDER BY DESC за сортиране на резултата в низходящ ред или в посочената колона.
Синтаксисът HiveQL за възходящ ред на ODER може да бъде показан, както е показано по-долу:
SELECT, FROM ORDER BY ASC;
SELECT, FROM ORDER BY ASC;
Синтаксисът HiveQL за низходящ ред по ODER може да бъде представен както по-долу:
SELECT, FROM ORDER BY DESC;
SELECT, FROM ORDER BY DESC;
Възходящите и низходящите клаузи могат да се използват едновременно с множество колони в клаузата ORDER BY, както е показано по-долу:
SELECT, FROM ORDER BY ASC DESC;
SELECT, FROM ORDER BY ASC DESC;
2. ПОРЪЧАЙТЕ ПО И НУЛЛНИ стойности
Най-новите версии на Hive също поддържат ред за сортиране за NULL стойност.
По подразбиране редът за сортиране на NULL стойности за ORDER BY ASC е NULLS FIRST. Той сортира всички NULL стойности до началото на сортирания резултат.
По същия начин редът за сортиране на стойности NULL за ORDER BY DESC е NULLS LAST по подразбиране. Той сортира всички NULL стойности до края на сортирания резултат.
Можете също да зададете NULLS FIRST и NULLS LAST заедно с ПОРЪЧКА ПО ASC или с ПОРЪЧКА ПО DESC според вашите изисквания и удобство.
Синтаксис на NULLS FIRST клауза заедно с ORDER BY възходящ:
SELECT, FROM ORDER BY ASC NULLS LAST;
SELECT, FROM ORDER BY ASC NULLS LAST;
Синтаксис на NULLS LAST клауза заедно с ORDER BY низходящ:
SELECT, FROM ORDER BY DESC NULLS FIRST;
SELECT, FROM ORDER BY DESC NULLS FIRST;
3. ПОРЪЧАЙТЕ ПО И ОГРАНИЧАВА клауза
Клаузата LIMIT не е задължителна с клаузата ORDER BY.
Клаузата LIMIT може да се използва за подобряване на производителността. Клаузата LIMIT може да се използва, за да се избегне ненужната обработка на данни.
Клаузата LIMIT ще избере само ограничения брой стойности от резултата за целите на проверката.
Клауза LIMIT с ORDER По клауза може да бъде показана по-долу:
SELECT, FROM ORDER BY ASC LIMIT 10;
SELECT, FROM ORDER BY ASC LIMIT 10;
ORDER BY клаузата може също да се комбинира с клауза OFFSET и клавиша LIMIT, за да се намали количеството на резултата. Синтаксисът на същото може да бъде показан като:
SELECT, FROM ORDER BY ASC LIMIT 10 OFFSET 10;
SELECT, FROM ORDER BY ASC LIMIT 10 OFFSET 10;
Примери в кошерен ред от
Помислете следната примерна таблица Служител, която съдържа служител ID като EmpID, име на служителя като EmpName, Назначение, отдел като отдел, ниво на работа като JL и заплата.
Пример №1
Код:
SELECT * FROM Employee ORDER BY JL ASC;
изход:
Пример №2
Код:
SELECT * FROM Employee ORDER BY Salary DESC LIMIT 3;
изход:
Пример №3
Код:
SELECT EmpId, EmpName, Designation, Dept FROM Employee where Salary < 50000 ORDER BY EmpName ASC JL ASC;
изход:
заключение
ПОРЪЧАЙТЕ в кошер ви позволява да сортирате данни във възходящ или низходящ ред. ORDER BY може да се комбинира с други клаузи за получаване на подредените данни. ORDER BY е различен от SORT BY, тъй като SORT BY подрежда данните в редуктора, но ORDER BY подрежда всички данни.
Препоръчителни статии
Това е упътване за поръчка на кошер от. Тук обсъждаме Как можем да използваме ред по функция в кошер и различни примери с кодове и изходи. Можете също да прегледате и другите ни свързани статии, за да научите повече -