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

  1. Izrada tablice svih stanja
create table all states(state string, District string,Enrolments string)

row format delimited

fields terminated by ',';
  1. Učitavanje podataka u kreiranu tablicu sva stanja
Load data local inpath '/home/hduser/Desktop/AllStates.csv' into table allstates;
  1. Izrada pregradne tablice
create table state_part(District string,Enrolments string) PARTITIONED BY(state string);
  1. Za particiju moramo postaviti ovo svojstvo
    set hive.exec.dynamic.partition.mode=nonstrict
  2. Učitavanje podataka u particijsku tablicu
INSERT OVERWRITE TABLE state_part PARTITION(state)
SELECT district,enrolments,state from  allstates;
  1. Stvarna obrada i formiranje particijskih tablica na temelju stanja kao particijskog ključa
  2. 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

Pregrade košnice

Pregrade košnice

Pregrade košnice

Pregrade košnice

Iz gornjeg koda radimo sljedeće stvari

  1. Stvaranje tablice svih država s nazivima 3 stupca kao što su država, okrug i upis
  2. Učitavanje podataka u tablicu sva stanja
  3. Stvaranje particijske tablice sa stanjem kao particijskim ključem
  4. U ovom koraku Postavljanje načina particije kao nestriktnog (Ovaj način će aktivirati način rada dinamičke particije)
  5. Učitavanje podataka u particiju tablestate_part
  6. Stvarna obrada i formiranje particijskih tablica na temelju stanja kao particijskog ključa
  7. 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.

Košnice za košnice

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.

Košnice za košnice

Korak 3)Prikazuju se 4 spremnika stvorena u 1. koraku

Košnice za košnice

Na gornjoj snimci zaslona možemo vidjeti da se podaci iz tablice zaposlenika prenose u 4 spremnika stvorena u 1. koraku.