Увод у групу за кошнице

Групирај према, како му име каже, груписаће запис који задовољава одређене критеријуме. У овом ћемо чланку погледати групу ХИВЕ. У наслијеђеним РДБМС-овима као што су МиСКЛ, СКЛ итд., Група је једна од најстаријих клаузула које се користе. Сада је пронашло своје место на сличан начин у датотечним базама података које познате под називом ХИВЕ.

Знамо да је кошница надмашила многе наслеђене РДБМС-ове у управљању огромним подацима, а да ниједан новац није потрошен на добављаче на одржавање база података и сервера. Само требамо конфигурирати ХДФС за обраду кошница. Генерално, прелазимо на табеле јер крајњи корисник може интерпретирати из своје структуре и може се упитати како ће датотеке бити неспретне за њих. Али то смо морали да платимо добављачима да дају сервере и одржавају наше податке у формату табела. Дакле, кошница пружа економичан механизам где користи предности система заснованих на датотекама (начин на који кошница чува своје податке), као и табела (структура таблице за крајње кориснике на које се може распитати).

Група од

Групирајте помоћу дефинисаних ступаца из табеле Хиве да бисте груписали податке. Узмите у обзир да имате табелу са подацима пописа из сваког града свих држава у којима су име града и име државе један од ступаца. Сада у упиту, ако групирамо по државама, сви подаци из различитих градова одређене државе ће се груписати и један лако може да визуализује податке сада пре примене групе према.

Синтакса групе кошница

Општа синтакса групе према клаузули је као испод:

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);

или за једноставније упите,

from Group By

Select department, count(*) from the university.college Group By department;

Овде се одељење односи на један од стубова табеле о факултетима који се налазе у универзитетској бази података и његова вредност је различита у одељењима као што су уметност, математика, инжењерство, итд. Сада погледајте неки пример за демонстрирање групе.

Направио сам пример табеле децк_оф_цардс да демонстрирам групу. Његова израда табеле за креирање је следећа:

одозго можете видети да има три низа колона у боји, одели и пипу. Допусти ми да напишем упит да бих груписао податке по њиховој боји и бројао их.

select color, count(*) from deck_of_cards group by color;

Хиве у основи узима горњи упит да би га претворио у програм за смањење мапа генерисањем одговарајућег јава кода и јар датотеке, а затим извршио. Овај процес може трајати мало времена, али дефинитивно може поднијети велике податке у односу на традиционалне РДБМС. Погледајте снимак екрана испод са детаљним дневником за извршавање горњег упита.

можете видети да је ЦРНИ 26, а ЦРВЕНИ 26.

сада да применимо груписање на два ступца (боја и одијело и добивање броја група) и видимо резултат у наставку.

Select color, suit, count(*) from deck_of_cards group by color, suit

У основи, постоје четири различите групе изнад Цлуб-а, Спаде које имају црну боју и Дијамантну и срце које су црвено обојене.

Склапање резултата из групе према случају у другу табелу

И кошница као и било који други РДБМС пружа могућност уметања података креирањем израза табеле. Погледајмо похрањивање резултата из одабраног израза помоћу групе у другу табелу. Дозволите ми да употребим горњи упит где сам користио два ступца у групи.

create table cards_group_by
as
select color, suit, count(*) from deck_of_cards
group by color, suit;

сада да претражимо на креираној табели да видимо и потврдимо податке.

Сада ограничимо резултат групе употребом клаузуле. Као што је приказано у генеричкој синтакси, можемо применити ограничење на групу, користећи власништво. Овде користим табелу ордсер_итемс и њена структура је следећа из описне изјаве.

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;

из резултата можете видети снимку заслона да имамо записе само са вредности 5_ред_редем_ордер_ид.

Групирајте заједно са изјавом случаја

Сада ћемо погледати мало сложене упите који укључују изјаве ЦАСЕ с групом од стране. Применићемо ово на табелу ордер_итемс. Ниже ћемо видети да можемо категорисати неограничене ступце на које не можемо директно применити групу клаузулом.

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;

пустимо га у кошницу ради резултата

Закључак - Група за кошнице

тако да можемо видети да смо групирали_редем_субтотал у четири различите категорије (ако имате на уму да је редослед_итем_субтотал колона која се не сабире и директна група се на њу не може применити), а ми смо их груписали и добили и њихове бројеве вриједности које задовољавају распон дефиниран у одабраном изразу. Овде је једноставно правило ако је ступац несагрегирајући и наш селективни израз је сложен, али шта год било у одабраном изразу који би такође требало да буде присутан у групи изразом клаузуле. Дакле, видели смо како се позната група клаузула РДБМС такође може применити на кошницу без икаквих ограничења. Може се применити на једноставне одабране изразе. Обједините и филтрирајте изразе, придружите изразе и сложене ЦАСЕ изразе.

Препоручени чланци

Ово је водич за Хиве Гроуп Би. Овде смо расправљали о групи према, синтакси, примерима групе кошница према различитим условима и примени. Такође можете погледати следеће чланке да бисте сазнали више -

  1. Придружује се кошници
  2. Шта је кошница?
  3. Архитектура кошница
  4. Функција кошнице
  5. Наредба кошнице
  6. Инсталација кошница
  7. Топ 6 врста придруживања у МиСКЛ-у са примерима

Категорија: