Табеле, партиције и сегменти су делови моделирања података о кошницама.
Шта су партиције?
Партиције кошница је начин за организовање таблица у партиције дијељењем таблица у различите дијелове на основу партицијских кључева.
Партиција је корисна када табела има један или више партицијских кључева. Партициони кључеви су основни елементи за одређивање начина чувања података у табели.
На пример : -
"Клијент има неке податке о е-трговини који припадају индијским операцијама у којима се свака држава (38 држава) спомиње као целина. Ако узмемо ступац државе као партицијски кључ и извршимо партиције на тим индијским подацима у целини, можемо да би се добио број партиција (38 партиција) који је једнак броју држава (38) присутних у Индији, тако да се подаци о сваком стању могу засебно прегледати у табелама партиција.
Пример фрагмента кода за партиције
- Израда табеле у свим државама
create table all states(state string, District string,Enrolments string)row format delimitedfields terminated by ',';
- Учитавање података у креирану табелу свих стања
Load data local inpath '/home/hduser/Desktop/AllStates.csv' into table allstates;
- Израда партицијске табеле
create table state_part(District string,Enrolments string) PARTITIONED BY(state string);
-
За партицију морамо поставити ово својство
set hive.exec.dynamic.partition.mode=nonstrict
- Учитавање података у партицијску табелу
INSERT OVERWRITE TABLE state_part PARTITION(state)SELECT district,enrolments,state from allstates;
- Стварна обрада и формирање партицијских табела на основу стања као партицијског кључа
- У ХДФС меморији ће бити 38 излаза на партицији са именом датотеке као именом државе. Проверићемо ово у овом кораку
Следећи снимци екрана ће приказати извршење горе поменутог кода
Из горњег кода радимо следеће ствари
- Израда табеле са свим државама са 3 колоне, као што су држава, округ и упис
- Учитавање података у табелу свих стања
- Стварање партицијске табеле са стањем као партицијским кључем
- У овом кораку Постављање режима партиције као нестрогог (Овај режим ће активирати режим динамичке партиције)
- Учитавање података у партицијску табелу стате_парт
- Стварна обрада и формирање партицијских табела на основу стања као партицијског кључа
- У ХДФС меморији иде 38 излаза на партицији са именом датотеке као именом државе. Проверићемо ово у овом кораку. У овом кораку видимо 38 излаза партиција у ХДФС-у
Шта су канте?
Сегменти у кошници користе се за раздвајање података табеле кошница у више датотека или директорија. користи се за ефикасно постављање упита.
- Подаци, тј. Присутни на тим партицијама, могу се даље поделити у сегменте
- Подела се врши на основу Хасх-а одређених колона које смо изабрали у табели.
- Сегменти користе неки облик Хасхинг алгоритма на задњем крају да би прочитали сваки запис и ставили га у сегменте
- У Хиве-у морамо омогућити сегменте користећи сет.хиве.енфорце.буцкетинг = труе;
Корак 1) Стварање сегмента као што је приказано доле.
Са горњег снимка екрана
- Креирамо сампле_буцкет са именима колона као што су име, ид_посла, одељење, плата и држава
- Стварамо 4 канте овде.
- Када се подаци аутоматски учитају, сместите их у 4 сегмента
Корак 2) Учитавање података у сеф узорака табеле
Под претпоставком да је „таблица запослених“ већ креирана у систему кошница. У овом кораку видећемо учитавање података из табеле запослених у сеф узорака табеле.
Пре него што започнемо са премештањем података о запосленима у сегменте, уверите се да се састоје од имена колона као што су име_на_име, посао_ид, одељење, плата и држава.
Овде учитавамо податке у серију узорака из табеле запослених.
Корак 3) Приказивање 4 сегмента креираних у кораку 1
Из горњег снимка екрана видимо да се подаци из табеле запослених преносе у 4 сегмента креирана у кораку 1.