Uvod u grupu košnica
Grupiraj prema, kao što ime govori, grupirat će zapis koji zadovoljava određene kriterije. U ovom ćemo članku pogledati grupu HIVE. U naslijeđenim RDBMS-ovima kao što su MySQL, SQL itd., Grupa po je jedna od najstarijih klauzula koje se koriste. Sada je pronašao svoje mjesto na sličan način u datotečnoj pohrani podataka poznato pod nazivom HIVE.
Znamo da je košnica nadmašila mnoge naslijeđene RDBMS-ove u obradi ogromnih podataka, bez da se i jedan trošak potroši na dobavljače na održavanje baza podataka i poslužitelja. Samo trebamo konfigurirati HDFS za obradu košnica. Općenito, prelazimo na tablice jer krajnji korisnik može interpretirati iz njegove strukture i može se upitati kako će datoteke biti nespretne za njih. Ali to smo morali učiniti plaćanjem dobavljača da daju poslužitelje i održavaju naše podatke u formatu tablica. Dakle, košnica pruža ekonomičan mehanizam gdje iskorištava prednosti datotečnih sustava (način na koji košnica sprema svoje podatke), kao i tablica (struktura tablice za krajnje korisnike na koje treba upiti).
Grupiranje prema
Grupirajte pomoću definiranih stupaca iz tablice Hive da biste grupirali podatke. Uzmite u obzir da imate tablicu s popisnim podacima iz svakog grada svih država u kojima su ime grada i ime države jedan od stupaca. Sada u upitu, ako grupiramo po državama, tada će se svi podaci iz različitih gradova određene države grupirati zajedno i podaci će se lako vizualizirati sada bolje prije primjene skupine prema.
Sintaksa grupe košnica
Opća sintaksa grupe prema klauzuli je kako slijedi:
SELECT (ALL | DISTINCT) select_expr, select_expr, …
FROM table_reference
(WHERE where_condition) (GROUP BY col_list) (HAVING having_condition) (ORDER BY col_list)) (LIMIT number);
ili za jednostavnije upite,
from Group By
Select department, count(*) from the university.college Group By department;
Ovdje se odjel odnosi na jedan od stupaca stola u faksu koji se nalazi u sveučilišnoj bazi podataka, a njegova vrijednost je različita u odjelima poput umjetnosti, matematike, inženjerstva, itd. Sada pogledajte neki primjer za demonstriranje grupe.
Napravio sam oglednu tablicu deck_of_cards kako bih demonstrirao grupu. Njegova izrada tablice izrade je sljedeća:
odozgo možete vidjeti da ima tri niza stupaca u boji, odijelu i pipi. Dopusti mi da napišem upit da bih grupisao podatke po boji i dolazio do broja.
select color, count(*) from deck_of_cards group by color;
Hive u osnovi uzima gornji upit kako bi ga pretvorio u program za smanjenje karata generiranjem odgovarajućeg java koda i jar datoteke te zatim izvršio. Ovaj postupak može potrajati malo vremena, ali definitivno može obraditi velike podatke u odnosu na tradicionalne RDBMS. Pogledajte donju snimku zaslona s detaljnim zapisnikom za izvršavanje gornjeg upita.
možete vidjeti da je CRNI 26, a CRVENI 26.
sada ćemo primijeniti grupiranje na dva stupca (boja i odijelo i dobivanje broja grupa) i vidjeti rezultat u nastavku.
Select color, suit, count(*) from deck_of_cards group by color, suit
U osnovi, postoje četiri različite skupine iznad Cluba, Spade koje imaju crnu boju i Dijamantnu i srce koje su crvene boje.
Pohranjivanje rezultata iz grupe prema slučaju u drugu tablicu
Također košnica kao i bilo koji drugi RDBMS pruža značajku umetanja podataka kreiranjem izraza tablice. Pogledajmo pohranjivanje rezultata iz odabranog izraza pomoću skupine u drugu tablicu. Dopusti mi da upotrijebim gornji upit gdje sam koristio dva stupca u grupi.
create table cards_group_by
as
select color, suit, count(*) from deck_of_cards
group by color, suit;
sad zapitajmo se na stvorenoj tablici kako bismo vidjeli i potvrdili podatke.
Sada ćemo ograničiti rezultat skupine upotrebom klauzule. Kao što je prikazano u generičkoj sintaksi, možemo ograničenje primijeniti na skupinu, koristeći vlasništvo. Ovdje koristim tablicu ordser_items i njezina je struktura sljedeća iz opisne izjave.
hive (retail_db_ali)> describe order_items;
OK
order_item_id int
order_item_order_id int
order_item_product_id int
order_item_quantity tinyint
order_item_subtotal float
order_item_product_price float
Time taken: 0.387 seconds, Fetched: 6 row(s)
select order_item_id, order_item_order_id from order_items group by order_item_id, order_item_order_id having order_item_order_id=5;
iz rezultata možete vidjeti snimku zaslona da imamo zapise samo s vrijednošću 5_pored_item_order_id.
Grupirajte uz izjavu o slučaju
Pogledajmo sada malo složene upite koji uključuju izjave CASE s grupom od strane. Primijenit ćemo to u tablicu order_items. Ispod ćemo vidjeti da neorganiziramo stupce na koje ne možemo izravno primijeniti grupu klauzulom.
Select
case
when order_item_subtotal <=200 then "less_profit"
when order_item_subtotal <=300 then "avg_prof"
when order_item_subtotal<=500 then "good_prof"
when order_item_subtotal<=550 then "max_profit"
else 'corsed_treshold'
end
as order_profits,
count(*) from order_items
group by
case
when order_item_subtotal <=200 then "less_profit"
when order_item_subtotal <=300 then "avg_prof"
when order_item_subtotal<=500 then "good_prof"
when order_item_subtotal<=550 then "max_profit"
else 'corsed_treshold'
end;
pustimo ga u košnicu radi rezultata
Zaključak - Grupa košnica By
tako da možemo vidjeti da smo grupirali_redem_subtotal grupirali u četiri različite kategorije (ako primijetite da je redoslijed_item_subtotal stupac koji se ne sakuplja i direktna grupa na njega ne može se primijeniti), te smo ih grupirali i dobili i njihove brojeve vrijednosti koje zadovoljavaju raspon definiran u odabranom izrazu. Ovdje je jednostavno pravilo ako je stupac nesagregirajući, a naš odabrani izraz složen, što god bilo u odabranom izrazu koji bi također trebao biti prisutan u grupi izrazom klauzule. Dakle, vidjeli smo kako se poznata grupa klauzula RDBMS također može primijeniti na košnicu bez ikakvih ograničenja. Može se primijeniti na jednostavne odabrane izraze. Agregiranje i filtriranje izraza, pridruživanje izraza i složeni CASE izrazi.
Preporučeni članci
Ovo je vodič za Hive Group By. Ovdje smo raspravljali o grupi prema, sintaksi, primjerima skupine košnica prema različitim uvjetima i provedbi. Možete pogledati i sljedeće članke da biste saznali više -
- Pridružuje se košnici
- Što je košnica?
- Arhitektura košnica
- Funkcija košnice
- Naruči košnicu
- Instalacija košnica
- Top 6 vrsta pridruživanja u MySQL-u s primjerima