Преграде кошнице & амп; Кашике са примером

Преглед садржаја:

Anonim

Табеле, партиције и сегменти су делови моделирања података о кошницама.

Шта су партиције?

Партиције кошница је начин за организовање таблица у партиције дијељењем таблица у различите дијелове на основу партицијских кључева.

Партиција је корисна када табела има један или више партицијских кључева. Партициони кључеви су основни елементи за одређивање начина чувања података у табели.

На пример : -

"Клијент има неке податке о е-трговини који припадају индијским операцијама у којима се свака држава (38 држава) спомиње као целина. Ако узмемо ступац државе као партицијски кључ и извршимо партиције на тим индијским подацима у целини, можемо да би се добио број партиција (38 партиција) који је једнак броју држава (38) присутних у Индији, тако да се подаци о сваком стању могу засебно прегледати у табелама партиција.

Пример фрагмента кода за партиције

  1. Израда табеле у свим државама
create table all states(state string, District string,Enrolments string)row format delimitedfields terminated by ',';
  1. Учитавање података у креирану табелу свих стања
Load data local inpath '/home/hduser/Desktop/AllStates.csv' into table allstates;
  1. Израда партицијске табеле
create table state_part(District string,Enrolments string) PARTITIONED BY(state string);
  1. За партицију морамо поставити ово својство

    set hive.exec.dynamic.partition.mode=nonstrict
  2. Учитавање података у партицијску табелу
INSERT OVERWRITE TABLE state_part PARTITION(state)SELECT district,enrolments,state from allstates;
  1. Стварна обрада и формирање партицијских табела на основу стања као партицијског кључа
  2. У ХДФС меморији ће бити 38 излаза на партицији са именом датотеке као именом државе. Проверићемо ово у овом кораку

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

Из горњег кода радимо следеће ствари

  1. Израда табеле са свим државама са 3 колоне, као што су држава, округ и упис
  2. Учитавање података у табелу свих стања
  3. Стварање партицијске табеле са стањем као партицијским кључем
  4. У овом кораку Постављање режима партиције као нестрогог (Овај режим ће активирати режим динамичке партиције)
  5. Учитавање података у партицијску табелу стате_парт
  6. Стварна обрада и формирање партицијских табела на основу стања као партицијског кључа
  7. У ХДФС меморији иде 38 излаза на партицији са именом датотеке као именом државе. Проверићемо ово у овом кораку. У овом кораку видимо 38 излаза партиција у ХДФС-у

Шта су канте?

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

  • Подаци, тј. Присутни на тим партицијама, могу се даље поделити у сегменте
  • Подела се врши на основу Хасх-а одређених колона које смо изабрали у табели.
  • Сегменти користе неки облик Хасхинг алгоритма на задњем крају да би прочитали сваки запис и ставили га у сегменте
  • У Хиве-у морамо омогућити сегменте користећи сет.хиве.енфорце.буцкетинг = труе;

Корак 1) Стварање сегмента као што је приказано доле.

Са горњег снимка екрана

  • Креирамо сампле_буцкет са именима колона као што су име, ид_посла, одељење, плата и држава
  • Стварамо 4 канте овде.
  • Када се подаци аутоматски учитају, сместите их у 4 сегмента

Корак 2) Учитавање података у сеф узорака табеле

Под претпоставком да је „таблица запослених“ већ креирана у систему кошница. У овом кораку видећемо учитавање података из табеле запослених у сеф узорака табеле.

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

Овде учитавамо податке у серију узорака из табеле запослених.

Корак 3) Приказивање 4 сегмента креираних у кораку 1

Из горњег снимка екрана видимо да се подаци из табеле запослених преносе у 4 сегмента креирана у кораку 1.