Tabele, particije in segmenti so deli modeliranja podatkov o panju.
Kaj so particije?
Panjske particije so način organiziranja tabel v particije z razdelitvijo tabel na različne dele na podlagi particijskih ključev.
Particija je koristna, če ima tabela enega ali več particijskih ključev. Pregradni ključi so osnovni elementi za določanje, kako se podatki shranjujejo v tabeli.
Na primer : -
"Naročnik z nekaterimi podatki e-trgovine, ki spadajo v indijske operacije, pri katerih je vsaka država (38 zveznih držav) omenjena kot celota. Če vzamemo stolpec stanja kot particijski ključ in izvedemo particije na teh indijskih podatkih kot celoti, lahko pridobiti Število particij (38 particij), ki je enako številu zveznih držav (38), ki so prisotne v Indiji, tako da si lahko podatke o vsakem stanju ogledate ločeno v tabelah particij.
Vzorec delčka kode za particije
- Ustvarjanje tabele v vseh državah
create table all states(state string, District string,Enrolments string)row format delimitedfields terminated by ',';
- Nalaganje podatkov v ustvarjeno tabelo v vseh stanjih
Load data local inpath '/home/hduser/Desktop/AllStates.csv' into table allstates;
- Ustvarjanje particijske tabele
create table state_part(District string,Enrolments string) PARTITIONED BY(state string);
-
Za particijo moramo nastaviti to lastnost
set hive.exec.dynamic.partition.mode=nonstrict
- Nalaganje podatkov v particijsko tabelo
INSERT OVERWRITE TABLE state_part PARTITION(state)SELECT district,enrolments,state from allstates;
- Dejanska obdelava in oblikovanje particijskih tabel na podlagi stanja kot particijskega ključa
- V pomnilniku HDFS bo 38 izhodov particij z imenom datoteke kot imenom države. To bomo preverili v tem koraku
Naslednji posnetki zaslona bodo pokazali u izvedbo zgoraj omenjene kode
Iz zgornje kode delamo naslednje stvari
- Ustvarjanje tabele vseh zveznih držav s tremi imeni stolpcev, kot so država, okrožje in vpis
- Nalaganje podatkov v tabelo vseh stanj
- Ustvarjanje particijske tabele z stanjem kot particijskim ključem
- V tem koraku nastavite način particije kot nestrog (ta način bo aktiviral način dinamične particije)
- Nalaganje podatkov v particijsko tabelo state_part
- Dejanska obdelava in oblikovanje particijskih tabel na podlagi stanja kot particijskega ključa
- V pomnilniku HDFS bo 38 izhodov particij z imenom datoteke kot imenom države. To bomo preverili v tem koraku. V tem koraku vidimo 38 izhodov particije v HDFS
Kaj so vedra?
Vedra v panju se uporabljajo za ločevanje podatkov o tabelah panja v več datotek ali imenikov. uporablja se za učinkovito poizvedovanje.
- Podatke, ki so prisotni v teh particijah, lahko nadalje razdelimo v segmente
- Delitev se izvede na podlagi razpršitve določenih stolpcev, ki smo jih izbrali v tabeli.
- Segmenti na zadnji strani uporabljajo neko obliko algoritma Hashing, da preberejo vsak zapis in ga postavijo v vedra
- V Hiveju moramo omogočiti segmente z uporabo set.hive.enforce.bucketing = true;
Korak 1) Ustvarjanje vedra, kot je prikazano spodaj.
Z zgornjega posnetka zaslona
- Ustvarjamo sample_bucket z imeni stolpcev, kot so first_name, job_id, oddelek, plača in država
- Tu ustvarjamo 4 vedra.
- Ko se podatki samodejno naložijo, jih postavite v 4 vedra
Korak 2) Nalaganje podatkov v vedro vzorca tabele
Ob predpostavki, da je "tabela zaposlenih" že ustvarjena v sistemu panj. V tem koraku bomo videli nalaganje podatkov iz tabele zaposlenih v vedro vzorca tabele.
Preden začnemo podatke o zaposlenih premeščati v vedre, se prepričajte, da so sestavljeni iz imen stolpcev, kot so ime_na_ime, zaposlitev_id, oddelek, plača in država.
Tu nalagamo podatke v vzorčno vedro iz tabele zaposlenih.
Korak 3) Prikazovanje 4 segmentov, ustvarjenih v 1. koraku
Iz zgornjega posnetka zaslona lahko vidimo, da se podatki iz tabele zaposlenih prenesejo v 4 segmente, ustvarjene v 1. koraku.