Pregrade i kante za košnice s primjerom
Tablice, particije i spremnici dijelovi su Hive modeliranja podataka.
Što su particije?
Hive Partitions je način organiziranja tablica u particije dijeljenjem tablica u različite dijelove na temelju ključeva particije.
Particija je korisna kada tablica ima jedan ili više ključeva particije. Particijski ključevi su osnovni elementi za određivanje načina pohranjivanja podataka u tablici.
Na primjer: -
„Klijent koji ima neke podatke o e-trgovini koji pripadaju indijskim operacijama u kojima je svaka država (38 država) operacija navedena kao cjelina. Ako stupac stanja uzmemo kao ključ particije i izvršimo particije na podacima Indije u cjelini, možemo dobiti broj particija (38 particija) koji je jednak broju država (38) prisutnih u Indiji. Tako da se svaki podatak o stanju može vidjeti zasebno u tablicama particija.
Primjer isječka koda za particije
- Izrada tablice svih stanja
create table all states(state string, District string,Enrolments string) row format delimited fields terminated by ',';
- Učitavanje podataka u kreiranu tablicu sva stanja
Load data local inpath '/home/hduser/Desktop/AllStates.csv' into table allstates;
- Izrada pregradne tablice
create table state_part(District string,Enrolments string) PARTITIONED BY(state string);
- Za particiju moramo postaviti ovo svojstvo
set hive.exec.dynamic.partition.mode=nonstrict
- Učitavanje podataka u particijsku tablicu
INSERT OVERWRITE TABLE state_part PARTITION(state) SELECT district,enrolments,state from allstates;
- Stvarna obrada i formiranje particijskih tablica na temelju stanja kao particijskog ključa
- Bit će 38 particijskih izlaza u HDFS pohrani s nazivom datoteke kao nazivom stanja. To ćemo provjeriti u ovom koraku
Sljedeće snimke zaslona pokazat će vam izvođenje gore navedenog koda
Iz gornjeg koda radimo sljedeće stvari
- Stvaranje tablice svih država s nazivima 3 stupca kao što su država, okrug i upis
- Učitavanje podataka u tablicu sva stanja
- Stvaranje particijske tablice sa stanjem kao particijskim ključem
- U ovom koraku Postavljanje načina particije kao nestriktnog (Ovaj način će aktivirati način rada dinamičke particije)
- Učitavanje podataka u particiju tablestate_part
- Stvarna obrada i formiranje particijskih tablica na temelju stanja kao particijskog ključa
- U HDFS pohrani bit će 38 particijskih izlaza s nazivom datoteke kao nazivom stanja. To ćemo provjeriti u ovom koraku. U ovom koraku vidimo izlaze od 38 particija u HDFS-u
Što je Buckets?
Kante u košnici koriste se za odvajanje tabličnih podataka košnice u više datoteka ili direktorija. koristi se za učinkovito postavljanje upita.
- Podaci koji su prisutni u tim particijama mogu se dalje podijeliti u segmente
- Podjela se vrši na temelju Hasha pojedinih stupaca koje smo odabrali u tablici.
- Spremnici koriste neki oblik algoritma za raspršivanje na stražnjoj strani za čitanje svakog zapisa i njegovo postavljanje u spremnike
- U Hiveu moramo omogućiti kante pomoću set.hive.enforce.bucketing=true;
Korak 1) Stvaranje spremnika kao što je prikazano u nastavku.
Iz gornje snimke zaslona
- Stvaramo sample_bucket s nazivima stupaca kao što su first_name, job_id, department, salary i country
- Ovdje stvaramo 4 kante.
- Kada se podaci automatski učitaju, smjestite ih u 4 spremnika
Korak 2) Učitavanje podataka u spremnik uzorka tablice
Pod pretpostavkom da je “Tablica zaposlenika” već kreirana u sustavu Hive. U ovom koraku vidjet ćemo učitavanje tablice Podaci iz zaposlenika u spremnik uzorka tablice.
Prije nego počnemo premještati podatke o zaposlenicima u spremnike, provjerite da se sastoje od naziva stupaca kao što su first_name, job_id, department, salary i country.
Ovdje učitavamo podatke u spremnik uzorka iz tablice zaposlenika.
Korak 3)Prikazuju se 4 spremnika stvorena u 1. koraku
Na gornjoj snimci zaslona možemo vidjeti da se podaci iz tablice zaposlenika prenose u 4 spremnika stvorena u 1. koraku.