Mikä on pesä?
Ennen kuin ymmärrät pesän tietotyypit, tutkitaan pesää. Hive on Hadoopin tietovarastointitekniikka. Hadoop on Big data -alustan tietojen tallennus- ja käsittelysegmentti. Hive pitää paikkansa jatkotietojen käsittelytekniikoissa. Kuten muutkin jatkoympäristöt, pesään voidaan päästä jatkokyselyjen avulla. Tilojen tärkeimmät tarjoukset ovat data-analyysi, tapauskohtainen kysely ja tallennetun tiedon yhteenveto latenssinäkökulmasta, kyselyt menevät enemmän.
Pesän tietotyypit
Tyypit jaotellaan kahteen tyyppiin:
- Primitiiviset tietotyypit
- Kollektiiviset tietotyypit
1. Primitiiviset tietotyypit
Ensisijaiset keinot olivat muinaisia ja vanhoja. kaikki primitiivisiksi luetellut tietotyypit ovat vanhoja. alla luetellut tärkeät primitiiviset tietotyyppialueet:
Tyyppi | Koko (tavu) | esimerkki |
TinyInt | 1 | 20 |
SMALLINT | 2 | 20 |
int | 4 | 20 |
bigint | 8 | 20 |
boolean | Boolen totta / vääriä | VÄÄRÄ |
Kaksinkertainen | 8 | 10, 2222 |
Kellua | 4 | 10, 2222 |
jono | Merkkijono | ABCD |
Aikaleima | Kokonaisluku / float / string | 3.2.2012 12: 34: 56: 1234567 |
Päivämäärä | Kokonaisluku / float / string | 2.3.2019 |
Pesän tietotyypit toteutetaan JAVA: n avulla
Esimerkki: Java Int -sovellusta käytetään tässä Int-tietotyypin toteuttamiseen.
- HIVE ei tue merkistöryhmiä.
- Pesä luottaa rajoittajiin erottaakseen kentänsä, pesä koordinoidessaan Hadoopin kanssa antaa mahdollisuuden lisätä kirjoituskykyä ja lukemisen suorituskykyä.
- Kunkin sarakkeen pituuden määrittämistä ei odoteta pesän tietokannassa.
- Merkkijonot voidaan kirjata joko lainausmerkeissä (“) yksittäisissä lainausmerkeissä (').
- Uudemmassa pesän versiossa otetaan käyttöön Varchar-tyypit ja ne muodostavat span-määrittelijän (keskellä 1 ja 65535). Joten merkkijonolle tämä toimii suurimpana arvonpituutena, johon se mahtuu. Kun asetetaan arvo, joka ylittää tämän pituuden, arvojen oikeimmat reunat elementit katkaistaan. Merkin pituus on erottelukyky merkkijonojen ohjaamien koodipisteiden lukumäärän kanssa.
- Kaikkia kokonaislukuisia kirjaimia (TINYINT, SMALLINT, BIGINT) pidetään pohjimmiltaan INT-tietotyypeinä, ja vain pituus ylittää todellisen int-tason, josta se muuttuu BIGINT- tai muuhun vastaavaan tyyppiin.
- Desimaalimäärillä saadaan määritellyt arvot ja ylivoimainen kokoelma liukulukuarvoille verrattuna DOUBLE-tyyppiin. Numeeriset arvot tallennetaan täsmälliseen muotoonsa, mutta kaksinkertaisen tapauksessa niitä ei tallenneta tarkalleen numeerisina arvoina.
Päiväyksen arvonmuutosprosessi
Casting suoritettu | Tulos |
näyttelijä (päivämäärä päivämääränä) | Sama päivämääräarvo |
cast (aikaleima päivämääränä) | Paikallista aikavyöhykettä käytetään arvioimaan täällä vuosi / kuukausi / päivä-arvot ja tulostetaan tulosteena. |
cast (merkkijono päivämääränä) | Tämän valuutan seurauksena kysytään vastaavaa päivämääräarvoa, mutta meidän on varmistettava, että merkkijono on muodossa 'VVVV-KK-PP'. Null palautetaan, kun merkkijonoarvo ei oikein vastaa. |
cast (päivämäärä aikaleima) | Nykyisen paikallisen aikavyöhykkeen mukaan tälle casting-prosessille luodaan aikaleiman arvo |
cast (päiväys merkkijonona) | VVVV-KK-PP on muodostettu vuoden / kuukauden / päivämäärän arvoon ja tulosteet ovat merkkijonomuotoisia. |
2. Keräystietojen tyypit
Pesässä on neljä keräystiedotyyppiä, joita kutsutaan myös monimutkaisiksi tietotyypeiksi.
- ARRAY
- KARTTA
- STRUCT
- UNIONTYPE
1. ARRAY: Tavallisen tyyppisten elementtien sarja, jotka voidaan indeksoida ja indeksin arvo alkaa nollasta.
Koodi:
array ('anand', 'balaa', 'praveeen');
2. KARTTA: Nämä ovat elementtejä, jotka ilmoitetaan ja haetaan avain-arvopareilla.
Koodi:
'firstvalue' -> 'balakumaran', 'lastvalue' -> 'pradeesh' is represented as map('firstvalue', 'balakumaran', 'last', 'PG'). Now 'balakumaran ' can be retrived with map('first').
3. RAKENNE: Kuten C : ssäkin, rakenne on tietotyyppi, joka kerää joukon kenttiä, jotka on merkitty ja jotka voivat olla mitä tahansa muun tyyppisiä.
Koodi:
For a column D of type STRUCT (Y INT; Z INT) the Y field can be retrieved by the expression DY
4. UNIONTYYPPI: Unionilla voi olla mikä tahansa määritellyistä tietotyypeistä.
Koodi:
CREATE TABLE test(col1 UNIONTYPE )
CREATE TABLE test(col1 UNIONTYPE )
lähtö:
Alla on lueteltu monimutkaisissa tietotyypeissä käytettävät erottimet,
delimiter | Koodi | Kuvaus |
\ n | \ n | Tietueen tai rivin erotin |
A (Ctrl + A) | \ 001 | Kenttäerotin |
B (Ctrl + B) | \ 002 | RAKENNUKSET ja ARRAYIT |
C (Ctrl + C) | \ 003 | MAP: n |
Esimerkki monimutkaisista tietotyypeistä
Alla on esimerkkejä monimutkaisista tietotyypeistä:
1. Pöydän luominen
Koodi:
create table store_complex_type (
emp_id int,
name string,
local_address STRUCT,
country_address MAP,
job_history array)
row format delimited fields terminated by ', '
collection items terminated by ':'
map keys terminated by '_';
2. NÄYTÖTAULUKOT TIEDOT
Koodi:
100, Shan, 4th : CHN : IND : 600101, CHENNAI_INDIA, SI : CSC
101, Jai, 1th : THA : IND : 600096, THANJAVUR_INDIA, HCL : TM
102, Karthik, 5th : AP : IND : 600089, RENIKUNDA_INDIA, CTS : HCL
3. TIETOJEN LATTAMINEN
Koodi:
load data local inpath '/home/cloudera/Desktop/Hive_New/complex_type.txt' overwrite into table store_complex_type;
4. TIETOJEN KATSELU
Koodi:
select emp_id, name, local_address.city, local_address.zipcode, country_address('CHENNAI'), job_history(0) from store_complex_type where emp_id='100';
Johtopäätös - pesän tietotyypit
Koska yhteyshenkilö on DB ja silti yhdistää HIVE, se tarjoaa kaikki tavallisten SQL-tietokantojen tärkeimmät ominaisuudet erittäin hienostuneella tavalla, mikä tekee tästä yhden Hadoopin tehokkaampien jäsenneltyjen tietojenkäsittely-yksiköiden joukosta.
Suositellut artikkelit
Tämä on opas pesän tietotyyppiin. Tässä keskustellaan kahdesta tyypistä pesän tietotyypeissä asianmukaisilla esimerkillä. Voit myös käydä läpi muiden aiheeseen liittyvien artikkeleidemme saadaksesi lisätietoja -
- Mikä on pesä?
- Pesän vaihtoehdot
- Pesän sisäänrakennetut toiminnot
- Pesän haastattelukysymykset
- PL / SQL-tietotyypit
- Esimerkkejä Pythonin sisäänrakennetuista toiminnoista
- Erityyppiset SQL-tiedot esimerkkeinä