Hva er en bikube?
Før vi først forstår Hive-datatypene, vil vi studere bikuben. Hive er en datalagringsteknikk fra Hadoop. Hadoop er datalagrings- og behandlingssegmentet til Big data-plattformen. Hive har sin posisjon for oppfølgende databehandlingsteknikker. Som andre oppfølgingsmiljøer kan man oppnå bikube gjennom oppfølgingsspørsmål. De viktigste tilbudene med hive er dataanalyse, ad-hoc spørring og oppsummere lagrede data fra et latenstidsperspektiv. Spørsmålene blir større.
Datastyper
Datatyper er klassifisert i to typer:
- Primitive datatyper
- Kollektive datatyper
1. Primitive datatyper
Primitive midler var gamle og gamle. alle datatyper som er oppført som primitive er eldre. de viktige primitive datatypene områdene listet nedenfor:
Type | Størrelse (byte) | Eksempel |
TinyInt | 1 | 20 |
SMALLINT | 2 | 20 |
int | 4 | 20 |
bigint | 8 | 20 |
boolean | Boolsk sant / usant | FALSK |
Dobbelt | 8 | 10, 2222 |
Flyte | 4 | 10, 2222 |
string | Sekvens av tegn | ABCD |
Tidsstempel | Integer / flottør / string | 2/3/2012 12: 34: 56: 1234567 |
Dato | Integer / flottør / string | 2/3/2019 |
Hive-datatyper implementeres ved bruk av JAVA
Eks: Java Int brukes til å implementere Int-datatypen her.
- Tegnarrayer støttes ikke i HIVE.
- Hive er avhengig av avgrensere for å skille felt, ved at koordinering med Hadoop gjør det mulig å øke skriveprestasjonen og leseytelsen.
- Å angi lengden på hver kolonne forventes ikke i bikubedatabasen.
- Strenglitterære kan artikuleres i enten dobbelt sitater (“) enkelt sitater (').
- I en nyere versjon av bikuben blir Varchar-typer introdusert og de danner en spennspesifisering av (midt mellom 1 og 65535). Så for en karakterstreng fungerer dette som den største verdilengden den kan romme. Når en verdi overstiger denne lengden blir satt inn, blir elementene til høyre i de verdiene avkortet. Karakterlengde er oppløsning med figuren av kodepunkter kontrollert av karakterstrengen.
- Alle heltallstalere (TINYINT, SMALLINT, BIGINT) blir i utgangspunktet betraktet som INT-datatyper, og bare lengden overstiger det faktiske int-nivået det blir overført til en BIGINT eller annen respektive type.
- Desimal literals gir definerte verdier og overlegen samling for flytende punktverdier sammenlignet med DOUBLE-typen. Her lagres numeriske verdier på sin eksakte form, men i tilfelle dobbelt, lagres de ikke nøyaktig som numeriske verdier.
Prosess for avstøpning av datoverdi
Casting utført | Resultat |
rollebesetning (dato som dato) | Samme datoverdi |
rollebesetning (tidsstempel som dato) | En lokal tidssone brukes til å evaluere år / måned / datoverdiene her og skrives ut i utdataene. |
rollebesetning (streng som dato) | En tilsvarende datoverdi vil bli bedt om som et resultat av denne castingen, men vi må sørge for at strengen er av formatet 'YYYY-MM-DD'. Null blir returnert når strengverdien ikke klarer å lage en gyldig samsvar. |
rollebesetning (dato som tidsstempel) | I henhold til gjeldende lokal tidssone vil det opprettes en tidsstempelverdi for denne avstøpningsprosessen |
rollebesetning (dato som streng) | ÅÅÅÅ-MM-DD er dannet for verdien for år / måned / dato og utdataene har strengformat. |
2. Datatyper for samling
Det er fire samlingsdatatyper i bikuben, de blir også betegnet som komplekse datatyper.
- ARRAY
- KART
- STRUCT
- UNIONTYPE
1. ARRAY: En sekvens av elementer av en vanlig type som kan indekseres og indeksverdien starter fra null.
Kode:
array ('anand', 'balaa', 'praveeen');
2. KART: Dette er elementer som deklareres og hentes ved hjelp av nøkkelverdipar.
Kode:
'firstvalue' -> 'balakumaran', 'lastvalue' -> 'pradeesh' is represented as map('firstvalue', 'balakumaran', 'last', 'PG'). Now 'balakumaran ' can be retrived with map('first').
3. STRUKTUR: Som i C, er strukturen en datatype som akkumulerer et sett med felt som er merket og kan være av hvilken som helst annen datatype.
Kode:
For a column D of type STRUCT (Y INT; Z INT) the Y field can be retrieved by the expression DY
4. UNIONTYPE: Union kan inneholde hvilken som helst av de spesifiserte datatypene.
Kode:
CREATE TABLE test(col1 UNIONTYPE )
CREATE TABLE test(col1 UNIONTYPE )
Produksjon:
Ulike avgrensere brukt i komplekse datatyper er listet nedenfor,
delimiter | Kode | Beskrivelse |
\ n | \ n | Ta opp eller radavgrenser |
A (Ctrl + A) | \ 001 | Feltavgrensning |
B (Ctrl + B) | \ 002 | STRUKTER og REKKER |
C (Ctrl + C) | \ 003 | MAP er |
Komplekse datatyper Eksempel
Nedenfor er eksemplene på komplekse datatyper:
1. BORDSKAPING
Kode:
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. PRØVEBORDDATA
Kode:
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. LAST DATA
Kode:
load data local inpath '/home/cloudera/Desktop/Hive_New/complex_type.txt' overwrite into table store_complex_type;
4. SE DATA
Kode:
select emp_id, name, local_address.city, local_address.zipcode, country_address('CHENNAI'), job_history(0) from store_complex_type where emp_id='100';
Konklusjon - Hive datatyper
Å være en relasjonell DB og likevel en Sequel kobler HIVE og tilbyr alle nøkkelegenskapene til vanlige SQL-databaser på en veldig sofistikert måte som gjør denne til en av de mer effektive strukturerte databehandlingsenhetene i Hadoop.
Anbefalte artikler
Dette er en guide til Hive Data Type. Her diskuterer vi to typer hive-datatyper med riktige eksempler. Du kan også gå gjennom andre relaterte artikler for å lære mer -
- Hva er en bikube?
- Hive-alternativer
- Hive innebygde funksjoner
- Spørsmål om Hive-intervju
- PL / SQL-datatyper
- Eksempler på innebygde Python-funksjoner
- Ulike typer SQL-data med eksempler