Hive to usługa hurtowni danych oferowana przez Apache. Hive jest zbudowany na bazie rozproszonego systemu plików Hadoop (HDFS) do pisania, czytania, wysyłania zapytań i zarządzania dużymi danymi strukturalnymi lub częściowo ustrukturyzowanymi w rozproszonych systemach pamięci masowej, takich jak HDFS. Każdy HiveQL zostanie przekonwertowany na zadanie MapReduce w wewnętrznej bazie danych. Hive zapewnia Hive Query Language (HiveQL), który jest jak normalny SQL w RDBMS. Podobnie jak SQL, HiveQL zapewnia również klauzulę ORDER BY, której można używać z klauzulą SELECT. Funkcja ORDER BY służy do sortowania danych w kolejności rosnącej lub malejącej według kolumn określonych przez użytkownika.
Składnia w porządku ula według
Poniżej znajduje się składnia w kolejności uli według:
Podstawowa składnia:
SELECT, FROM ORDER BY ;
SELECT, FROM ORDER BY ;
Klauzula ORDER BY wraz ze wszystkimi innymi klauzulami:
SELECT DISTINCT, , FROM WHERE GROUP BY HAVING ORDER BY LIMIT ;
SELECT DISTINCT, , FROM WHERE GROUP BY HAVING ORDER BY LIMIT ;
Możesz także określić ORDER BY 1 lub ORDER BY 2, gdzie 1 i 2 reprezentują numer kolumny zamiast używać ORDER BY. Z ORDER BY można korzystać tylko wtedy, gdy nazwy kolumn są określone w klauzuli SELECT, a nie w klauzuli SELECT *.
Jak możemy użyć funkcji ORDER BY w gałęzi?
Poniższe wyjaśnienie pokazuje, w jaki sposób możemy użyć kolejności według funkcji w ulu:
1. ZAMÓWIENIE Wg rosnącej i malejącej
Domyślnie kolejność sortowania będzie rosła, co pokazuje najmniejszą wartość na początku i największą wartość na końcu wyniku, nawet jeśli nie zostanie to wyraźnie określone.
Możesz również określić ORDER BY ASC dla porządku rosnącego i ORDER BY DESC dla sortowania wyniku w porządku malejącym lub w określonej kolumnie.
Składnia HiveQL dla ODER BY rosnąca kolejność może być pokazana jak poniżej:
SELECT, FROM ORDER BY ASC;
SELECT, FROM ORDER BY ASC;
Składnia HiveQL dla ODER BY malejącej kolejności może być przedstawiona w następujący sposób:
SELECT, FROM ORDER BY DESC;
SELECT, FROM ORDER BY DESC;
Klauzule rosnące i malejące mogą być jednocześnie używane z wieloma kolumnami w klauzuli ORDER BY, jak pokazano poniżej:
SELECT, FROM ORDER BY ASC DESC;
SELECT, FROM ORDER BY ASC DESC;
2. ORDER BY i NULL Wartości
Najnowsze wersje Hive obsługują również porządek sortowania dla wartości NULL.
Domyślnie kolejność sortowania wartości NULL dla ORDER BY ASC to NULLS FIRST. Sortuje wszystkie wartości NULL na początku posortowanego wyniku.
Podobnie domyślna kolejność sortowania wartości NULL dla ORDER BY DESC to NULLS LAST. Sortuje wszystkie wartości NULL na końcu posortowanego wyniku.
Możesz również określić NULLS FIRST i NULLS LAST wraz z ORDER BY ASC lub ORDER BY DESC zgodnie z własnymi wymaganiami i wygodą.
Składnia klauzuli NULLS FIRST wraz z ORDER BY rosnąco:
SELECT, FROM ORDER BY ASC NULLS LAST;
SELECT, FROM ORDER BY ASC NULLS LAST;
Składnia klauzuli NULLS LAST wraz z malejącym ORDER BY:
SELECT, FROM ORDER BY DESC NULLS FIRST;
SELECT, FROM ORDER BY DESC NULLS FIRST;
3. Klauzula ORDER BY i LIMIT
Klauzula LIMIT jest opcjonalna w przypadku klauzuli ORDER BY.
Klauzula LIMIT może być użyta do poprawy wydajności. Można użyć klauzuli LIMIT, aby uniknąć niepotrzebnego przetwarzania danych.
Klauzula LIMIT wybierze tylko ograniczoną liczbę wartości z wyniku dla celów weryfikacji.
Klauzula LIMIT z klauzulą ORDER By może być pokazana jak poniżej:
SELECT, FROM ORDER BY ASC LIMIT 10;
SELECT, FROM ORDER BY ASC LIMIT 10;
Klauzulę ORDER BY można również połączyć z klauzulą OFFSET i LIMIT, aby zmniejszyć ilość wyniku. Składnia tego samego może być pokazana jako:
SELECT, FROM ORDER BY ASC LIMIT 10 OFFSET 10;
SELECT, FROM ORDER BY ASC LIMIT 10 OFFSET 10;
Przykłady w porządku ula według
Rozważ następującą przykładową tabelę Pracownik, który zawiera Identyfikator pracownika jako EmpID, Nazwę pracownika jako EmpName, Oznaczenie, Dział jako Dział, Poziom pracy jako JL i Wynagrodzenie.
Przykład 1
Kod:
SELECT * FROM Employee ORDER BY JL ASC;
Wynik:
Przykład nr 2
Kod:
SELECT * FROM Employee ORDER BY Salary DESC LIMIT 3;
Wynik:
Przykład nr 3
Kod:
SELECT EmpId, EmpName, Designation, Dept FROM Employee where Salary < 50000 ORDER BY EmpName ASC JL ASC;
Wynik:
Wniosek
ORDER BY w gałęzi pozwala sortować dane w kolejności rosnącej lub malejącej. ORDER BY można łączyć z innymi klauzulami, aby uzyskać posortowane dane. ORDER BY różni się od SORT BY, ponieważ SORT BY sortuje dane w reduktorze, ale ORDER BY sortuje całe dane.
Polecane artykuły
To jest przewodnik po Hive Order By. Tutaj omawiamy, w jaki sposób możemy wykorzystać porządek według funkcji w ulu i różne przykłady z kodami i wyjściami. Możesz również przejrzeć nasze inne powiązane artykuły, aby dowiedzieć się więcej -