Mis on taru?
Enne taru andmete tüüpide mõistmist uurime taru. Taru on Hadoopi andmelaotehnika. Hadoop on Big andmesideplatvormi andmete salvestamise ja töötlemise segment. Taru hoiab oma positsiooni andmetöötluse järgedel. Sarnaselt muudele järgemiskeskkondadele võib taru juurde pääseda järjenupäringute kaudu. Tarude peamised pakkumised on andmete analüüs, ad-hoc päring ja salvestatud andmete kokkuvõtmine latentsuse perspektiivist, päringud lähevad suuremas mahus.
Tarude andmete tüübid
Andmetüübid jaotatakse kahte tüüpi:
- Primitiivsed andmetüübid
- Kollektiivsed andmetüübid
1. Primitiivsed andmetüübid
Primitiivsed vahendid olid iidsed ja vanad. kõik primitiivsena loetletud andmetüübid on pärandtüübid. allpool loetletud olulised ürgsed andmetüüpide valdkonnad:
Tüüp | Suurus (bait) | Näide |
Pisike | 1 | 20 |
SmallInt | 2 | 20 |
Int | 4 | 20 |
Bigint | 8 | 20 |
Boolean | Boolean true / false | VABA |
Topelt | 8 | 10, 2222 |
Ujuk | 4 | 10, 2222 |
Keel | Märkide jada | ABCD |
Ajatempel | Täisarv / ujuk / string | 3.02.2012 12: 34: 56: 1234567 |
Kuupäev | Täisarv / ujuk / string | 3.02.2019 |
Tarude andmetüüpe rakendatakse Java abil
Näide. Siin kasutatakse Int-tüüpi andmetüübi rakendamiseks Java Int.
- Märgimassiive HIVE ei toeta.
- Taru tugineb piiritlejatele, et eraldada oma väljad. Taru kooskõlastamine Hadoopiga võimaldab suurendada kirjutamis- ja lugemistulemusi.
- Iga veeru pikkuse täpsustamist taru andmebaasis oodata ei ole.
- String-literaale saab liigendada kahekordsete jutumärkide (“) üksikute jutumärkide (') sees.
- Taru uuemas versioonis tutvustatakse Varchari tüüpe ja need moodustavad span-spetsifikaatori (keset 1 ja 65535). Seega toimib see tähemärgi jaoks suurima väärtusena, mida see mahutab. Kui sisestatakse seda pikkust ületav väärtus, siis kärbitakse nende väärtuste parempoolsemad elemendid. Märkide pikkus on eraldusvõime koos koodipunktide arvuga, mida kontrollib tähemärk.
- Kõiki täisarvu tähti (TINYINT, SMALLINT, BIGINT) peetakse põhimõtteliselt INT andmetüüpideks ja ainult pikkus ületab tegeliku int-taseme, milleks see BIGINT-i või mõneks muuks vastavaks tüübiks teisendatakse.
- Kümnendarvudes on DOUBLE tüübiga võrreldes määratletud väärtused ja ujukoma väärtuste jaoks parem kogum. Siin salvestatakse arvväärtused nende täpsele kujule, kuid kahekordse korral ei salvestata neid täpselt arvväärtustena.
Kuupäeva väärtuse ülekandmisprotsess
Casting teostatud | Tulemus |
cast (kuupäev kui kuupäev) | Sama kuupäeva väärtus |
üle kantud (ajatempel kui kuupäev) | Kohalikku ajavööndit kasutatakse siin aasta / kuu / kuupäeva väärtuste hindamiseks ja see trükitakse väljundisse. |
cast (string kui kuupäev) | Selle ülekandmise tulemusel küsitakse vastavat kuupäeva väärtust, kuid peame tagama, et stringi vorming oleks 'AAAA-KK-PP'. Kui stringi väärtus ei anna sobivat vastet, tagastatakse null. |
üle kantud (kuupäev kui ajatempel) | Praeguse kohaliku ajavööndi kohaselt luuakse selle ülekandmisprotsessi jaoks ajatempli väärtus |
cast (kuupäev stringina) | AAAA-KK-PP on moodustatud aasta / kuu / kuupäeva väärtuseks ja väljund on stringi vormingus. |
2. Andmete kogumise tüübid
Tarus on neli andmekogumistüüpi, mida nimetatakse ka keerukateks andmetüüpideks.
- ARRAY
- KAART
- STRUKTUUR
- LIIDU TÜÜP
1. ARRAY: ühist tüüpi elementide jada, mida saab indekseerida ja mille indeksi väärtus algab nullist.
Kood:
array ('anand', 'balaa', 'praveeen');
2. KAART: Need on elemendid, mis deklareeritakse ja hangitakse võtme-väärtuse paaride abil.
Kood:
'firstvalue' -> 'balakumaran', 'lastvalue' -> 'pradeesh' is represented as map('firstvalue', 'balakumaran', 'last', 'PG'). Now 'balakumaran ' can be retrived with map('first').
3. STRUKTUUR: Nagu C puhul, on ka struut andmetüüp, mis kogub märgistatud väljade komplekti ja võib olla mis tahes muud andmetüüpi.
Kood:
For a column D of type STRUCT (Y INT; Z INT) the Y field can be retrieved by the expression DY
4. LIIDU TÜÜP: liidul võib olla mõni määratletud andmetüüp.
Kood:
CREATE TABLE test(col1 UNIONTYPE )
CREATE TABLE test(col1 UNIONTYPE )
Väljund:
Allpool on loetletud mitmesugused komplekssetes andmetüüpides kasutatavad eraldajad,
Eraldaja | Kood | Kirjeldus |
\ n | \ n | Kirje või rea eraldaja |
A (Ctrl + A) | \ 001 | Välja eraldaja |
B (Ctrl + B) | \ 002 | STRUKTSIOONID JA ARRJAD |
C (Ctrl + C) | \ 003 | MAP-id |
Keerukate andmetüüpide näide
Allpool on toodud näited keerukatest andmetüüpidest:
1. TABELITE LOOMINE
Kood:
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. VALIMISTABELI ANDMED
Kood:
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. ANDMETE LAADIMINE
Kood:
load data local inpath '/home/cloudera/Desktop/Hive_New/complex_type.txt' overwrite into table store_complex_type;
4. ANDMETE VAATAMINE
Kood:
select emp_id, name, local_address.city, local_address.zipcode, country_address('CHENNAI'), job_history(0) from store_complex_type where emp_id='100';
Järeldus - tarude andmete tüübid
Relatsioonilise andmebaasina olemise ja HET-i ühendava Sequeli kaudu pakutakse tavaliste SQL-andmebaaside kõiki peamisi omadusi väga keerukatel viisidel, mis teeb sellest Hadoopi tõhusamate struktureeritud andmetöötlusüksuste seas.
Soovitatavad artiklid
See on taru andmete tüübi juhend. Siin käsitleme taruandmetüüpide kahte tüüpi koos sobivate näidetega. Lisateavet leiate ka meie muudest seotud artiklitest -
- Mis on taru?
- Taru alternatiivid
- Tarude sisseehitatud funktsioonid
- Taru intervjuu küsimused
- PL / SQL andmetüübid
- Näited Pythoni sisseehitatud funktsioonidest
- Erinevat tüüpi SQL-i andmed koos näidetega