Vad är en bikupa?
Innan vi först förstår Hive-datatyperna kommer vi att studera bikupan. Hive är en datalagringsteknik för Hadoop. Hadoop är datalagrings- och behandlingssegmentet för Big Data-plattformen. Hive har sin position för efterföljande databehandlingstekniker. Liksom andra uppföljningsmiljöer kan hive nås genom uppföljningsfrågor. De viktigaste erbjudandena med hive är dataanalys, ad-hocfrågor och sammanfattar lagrade data från ett latensperspektiv, frågorna blir större.
Hive-datatyper
Datatyper klassificeras i två typer:
- Primitiva datatyper
- Typer av kollektiv data
1. Primitiva datatyper
Primitiva medel var gamla och gamla. alla datatyper som listas som primitiva är äldre. de viktiga primitiva datatyper som anges nedan:
Typ | Storlek (byte) | Exempel |
tinyint | 1 | 20 |
sMALLINT | 2 | 20 |
int | 4 | 20 |
bigint | 8 | 20 |
Boolean | Booleska sant / falskt | FALSK |
Dubbel | 8 | 10, 2222 |
Flyta | 4 | 10, 2222 |
Sträng | Teckenföljd | ABCD |
Tidsstämpel | Heltal / float / string | 2/3/2012 12: 34: 56: 1234567 |
Datum | Heltal / float / string | 2019/02/03 |
Hive-datatyper implementeras med JAVA
Ex: Java Int används för att implementera Int-datatypen här.
- Teckenuppsättningar stöds inte i HIVE.
- Hive förlitar sig på avgränsare för att skilja sina fält, genom att koordinera med Hadoop kan man öka skrivprestanda och läsa prestanda.
- Att ange längden på varje kolumn förväntas inte i bikupadatabasen.
- Strängbokstäver kan artikuleras inom antingen dubbla citat (“) enda citat (').
- I en nyare version av bikupan introduceras Varchar-typer och de bildar en spanspecifikation för (mitt 1 och 65535). Så för en karaktärsträng fungerar detta som den största värden som den kan rymma. När ett värde som överstiger denna längd sätts in trimmas de högsta elementen i dessa värden. Teckenlängd är upplösning med siffran på kodpunkter som styrs av teckensträngen.
- Alla heltalslitteraler (TINYINT, SMALLINT, BIGINT) betraktas som INT-datatyper i princip, och endast längden överstiger den faktiska int-nivån som den överförs till en BIGINT eller någon annan respektive typ.
- Decimal litteraler ger definierade värden och överlägsen samling för flytande punktvärden jämfört med DOUBLE-typen. Här lagras numeriska värden i sin exakta form, men i fallet med dubbla lagras de inte exakt som numeriska värden.
Datumvärdesgjutningsprocess
Gjutning utförs | Resultat |
cast (datum som datum) | Samma datumvärde |
cast (tidsstämpel som datum) | En lokal tidszon används för att utvärdera värdena för år / månad / datum här och skrivs ut i utgången. |
cast (sträng som datum) | Ett motsvarande datumvärde kommer att uppmanas till följd av denna casting men vi måste se till att strängen är av formatet 'YYYY-MM-DD' Null kommer att returneras när strängvärdet inte lyckas göra en giltig matchning. |
cast (datum som tidsstämpel) | Enligt den aktuella lokala tidszonen skapas ett tidsstämpelvärde för denna gjutningsprocess |
cast (datum som sträng) | ÅÅÅÅ-MM-DD bildas för värdet år / månad / datum och utgången kommer att vara av strängformat. |
2. Insamling av datatyper
Det finns fyra samlingsdatatyper i bikupan, de benämns också som komplexa datatyper.
- SMYCKA
- KARTA
- STRUCT
- UNIONTYPE
1. ARRAY: En sekvens av element av en vanlig typ som kan indexeras och indexvärdet börjar från noll.
Koda:
array ('anand', 'balaa', 'praveeen');
2. MAP: Dessa är element som deklareras och hämtas med hjälp av nyckelvärdespar.
Koda:
'firstvalue' -> 'balakumaran', 'lastvalue' -> 'pradeesh' is represented as map('firstvalue', 'balakumaran', 'last', 'PG'). Now 'balakumaran ' can be retrived with map('first').
3. STRUKT: Som i C är strukturen en datatyp som samlar en uppsättning fält som är märkta och kan vara av vilken annan datatyp som helst.
Koda:
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 innehålla vilken som helst av de angivna datatyperna.
Koda:
CREATE TABLE test(col1 UNIONTYPE )
CREATE TABLE test(col1 UNIONTYPE )
Produktion:
Olika avgränsare som används i komplexa datatyper listas nedan,
avgränsare | Koda | Beskrivning |
\ n | \ n | Spela in eller radavgränsare |
A (Ctrl + A) | \ 001 | Fältavgränsare |
B (Ctrl + B) | \ 002 | STRUKTER och ARRAYS |
C (Ctrl + C) | \ 003 | Kartor |
Komplexa datatyper Exempel
Nedan är exemplen på komplexa datatyper:
1. SKAPNING AV TABELL
Koda:
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. SAMPLE TABLE DATA
Koda:
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. LADDA DATA
Koda:
load data local inpath '/home/cloudera/Desktop/Hive_New/complex_type.txt' overwrite into table store_complex_type;
4. VISA DATA
Koda:
select emp_id, name, local_address.city, local_address.zipcode, country_address('CHENNAI'), job_history(0) from store_complex_type where emp_id='100';
Slutsats - Hive-datatyper
Att vara en på relationell DB och ändå en Sequel ansluter HIVE erbjuder alla nyckelegenskaper för vanliga SQL-databaser på ett mycket sofistikerat sätt som gör detta till en av de mer effektiva strukturerade databehandlingsenheterna i Hadoop.
Rekommenderade artiklar
Detta är en guide till Hive Data Type. Här diskuterar vi två typer i bikupdatatyper med lämpliga exempel. Du kan också gå igenom våra andra relaterade artiklar för att lära dig mer -
- Vad är en bikupa?
- Hive-alternativ
- Hive Inbyggda funktioner
- Hiveintervjufrågor
- PL / SQL-datatyper
- Exempel på inbyggda Python-funktioner
- Olika typer av SQL-data med exempel