au Mail.ru Cloud Solutions ofo fa'aliliuga tala enisinia Rahul Bhatia mai Clairvoyant e uiga i faila faila o loʻo i ai i faʻamatalaga tetele, o a uiga sili ona taatele o Hadoop formats ma o le a le faatulagaga e sili atu ona faʻaoga.
Aisea e manaʻomia ai faila faila eseese?
O se fa'ata'ita'iga tele o fa'atinoga mo talosaga e fa'aogaina e le HDFS e pei o MapReduce ma Spark o le taimi lea e su'e ai, faitau, ma tusi ai fa'amaumauga. O nei faʻafitauli e faʻapipiʻiina i le faigata i le puleaina o faʻamaumauga tetele pe a fai o loʻo i ai se faʻataʻitaʻiga faʻasolosolo nai lo se faʻamautu, pe afai o loʻo i ai ni faʻalavelave teuina.
O le fa'agaioia o fa'amaumauga tetele e fa'atuputeleina ai le uta i luga o le fa'aputuga o mea e teu ai - Hadoop e teuina fa'amatalaga fa'atele ina ia maua ai le fa'apalepale masei. I le faaopoopo atu i tisiki, o loʻo faʻapipiʻiina le gaosiga, fesoʻotaʻiga, faʻaoga / faʻaogaina, ma isi. A'o fa'atupula'ia le tele o fa'amaumauga, e fa'apea fo'i le tau o le fa'agaioiina ma le teuina.
Eseese faila faila i Hadoop na faia e foia tonu ai nei faafitauli. O le filifilia o le faila faila talafeagai e mafai ona maua ai ni fa'amanuiaga taua:
Taimi faitau vave.
Taimi vave pu'eina.
Fa'asoa faila.
Lagolago mo le fa'aleleia o le polokalame.
Fa'alautele lagolago fa'amalosi.
O nisi faila faila e fa'amoemoe mo le fa'aoga lautele, o isi mo fa'aoga fa'apitoa, ma o nisi ua mamanuina e fa'afetaui uiga fa'amatalaga patino. O le filifiliga la e matua tele lava.
Avro faila faila
mo fa'asologa o fa'amaumauga Avro e faʻaaogaina lautele - e fa'avae manoa, o lona uiga, o se manoa faʻamaumauga e teu ai faʻamaumauga i Hadoop. E teuina le schema i le JSON format, faʻafaigofie ona faitau ma faʻamatalaina e soʻo se polokalame. O faʻamaumauga lava ia o loʻo i totonu o le binary format, faʻatusatusa ma lelei.
O le fa'asologa o fa'asologa o le Avro e le fa'aituau le gagana. E mafai ona fa'agasolo faila i gagana eseese, i le taimi nei C, C++, C#, Java, Python ma Ruby.
O se vaega autu o le Avro o lona lagolago malosi mo faʻamaumauga faʻamaumauga e suia i le taimi, o lona uiga, faʻaleleia. E malamalama Avro i suiga o fuafuaga— tapeina, faaopoopo, po o le suia o fanua.
E lagolagoina e Avro le tele o fausaga faʻamaumauga. Mo se faʻataʻitaʻiga, e mafai ona e fatuina se faʻamaumauga o loʻo i ai se faʻasologa, se faʻasologa faʻasologa, ma se faʻamaumauga laiti.
O lenei faatulagaga e lelei mo le tusitusi i le sone tulaueleele (sui) o se vaituloto faʻamatalaga (vaituloto fa'amatalaga, po'o le vaituloto o fa'amaumauga - o se fa'aputuga o fa'ata'ita'iga mo le teuina o ituaiga fa'amatalaga fa'aopoopo i fa'amatalaga sa'o).
O lea la, o lenei faatulagaga e sili ona fetaui mo le tusitusi i le sone tulaueleele o se vaituloto faʻamatalaga mo mafuaaga nei:
O fa'amaumauga mai lenei sone e masani ona faitau atoa mo le fa'agasolo atili e ala i faiga fa'alalo - ma o le fa'asologa o laina e sili atu ona lelei i lenei tulaga.
E mafai e faiga i lalo ona faigofie ona toe aumai siata mai faila—e leai se mana'oga e teu ese fa'ata'ita'i ile teuina o meta i fafo.
So'o se suiga ile ulua'i ata e faigofie ona fa'agasolo (schema evolution).
Fa'asologa o Faila Faila
Parquet o se faila faila faila mo Hadoop e teuina fa'apipi'i fa'amaumauga i fa'asologa o koluma mafolafola.
Pe a faatusatusa i le auala masani laina, Parquet e sili atu ona lelei i tulaga o le teuina ma le faatinoga.
E sili ona aoga mo fesili e faitau koluma patino mai se laulau lautele (tele koluma). Faʻafetai i le faila faila, e naʻo koluma manaʻomia e faitau, o lea e faʻatumauina le I/O i se tulaga maualalo.
O sina fa'asesega ma fa'amatalaga: Ina ia malamalama atili i le faila faila Parquet i Hadoop, seʻi o tatou vaʻai poʻo le a le faʻavae-koluma - e pei o le columnar - format. O lenei faatulagaga e teu ai tulaga tutusa mo koluma taitasi faatasi.
Mo se faʻataʻitaʻiga, o le faamaumauga e aofia ai le ID, Igoa, ma fanua Matagaluega. I lenei tulaga, o le a teuina faʻatasi uma tulaga taua o le koluma ID, faʻapea foʻi ma le igoa ole koluma, ma isi. O le laulau o le a foliga pei o lenei:
ID igoa Matagaluega
1
emp1
d1
2
emp2
d2
3
emp3
d3
I le fa'asologa o manoa, o le a fa'asaoina fa'amaumauga e fa'apea:
1
emp1
d1
2
emp2
d2
3
emp3
d3
I se faila faila faila, o faʻamatalaga tutusa o le a faʻasaoina e pei o lenei:
1
2
3
emp1
emp2
emp3
d1
d2
d3
E sili atu le lelei o le fa'asologa o koluma pe a mana'omia ona e fesiligia ni koluma se tele mai se laulau. O le a faitau na'o koluma mana'omia ona e fa'atasi. I lenei auala, o galuega I/O e fa'atumauina i se tulaga maualalo.
Mo se fa'ata'ita'iga, na'o le koluma NAME e te mana'omia. IN faatulagaga o manoa O fa'amaumauga ta'itasi i totonu o fa'amaumauga e mana'omia ona utaina, va'ava'ai i le fanua, ona aveese lea o fa'amaumauga IGOA. Ole fa'asologa o koluma e mafai ai ona e su'e sa'o i lalo ile koluma Igoa aua o tau uma mo lena koluma o lo'o teuina fa'atasi. E te le tau su'eina le pu'eina atoa.
O le mea lea, o le faʻasologa o le columnar e faʻaleleia ai le faʻatinoga o suʻesuʻega aua e manaʻomia ai le itiiti o le taimi suʻesuʻe e oʻo atu ai i koluma manaʻomia ma faʻaititia le numera o galuega I / O ona e naʻo koluma manaʻomia e faitau.
O se tasi o uiga tulaga ese Paquet o le tulaga lea e mafai teu fa'amaumauga fa'atasi ma fausaga fa'amoega. O lona uiga i totonu o se faila Parquet, e oo lava i fanua fa'amoega e mafai ona faitau ta'ito'atasi e aunoa ma le faitauina uma o fanua i totonu o le fausaga fa'amoega. E fa'aogaina e Parquet se fa'aliga fa'apipi'i ma le fa'apotopotoga e teu ai fausaga fa'apipi'i.
Ina ia malamalama i le faila faila Parquet i Hadoop, e tatau ona e iloa upu nei:
Vaega laina (vaega vaega): vaevaega fa'ata'atia talafeagai o fa'amaumauga i laina. O se kulupu laina e aofia ai se vaega o koluma ta'itasi i le seti fa'amaumauga.
Vaega vaega (vaega koluma): O se vaega o se koluma patino. O nei vaega koluma e ola i se vaega patino o laina ma e mautinoa e pipii i le faila.
Itulau (itulau): Ua vaevaeina vaega o koluma i itulau e tusi tasi i le isi. O itulau e iai le ulutala masani, o lea e mafai ai ona e faase'e mea e le mana'omia pe a faitau.
O le igoa lea e na'o le numera fa'ataulāitu PAR1 (4 bytes) lea e iloagofie ai le faila o se faila Parquet.
Fai mai le pito i lalo:
faila metadata o lo'o i ai fa'amaopoopo amata o metadata o koluma ta'itasi. A e faitau, e tatau ona e faitau muamua metadata a le faila e suʻe uma vaega koluma e fiafia i ai. E tatau ona faitau faasolosolo vaega o koluma. O isi metadata e aofia ai le faʻasologa o faʻasologa, faʻasologa, ma soʻo se isi paʻu taua-taua.
Metadata umi (4 paita).
numera fa'ataulāitu PAR1 (4 paita).
ORC File Format
Fa'atonu le fa'asologa o faila o laina laina (Koluma Laina Fa'atonu, CRO) e ofoina atu se auala sili ona lelei e teu ai faʻamaumauga ma sa fuafuaina e faʻatoʻilaloina tapulaʻa o isi faatulagaga. Teuina faʻamaumauga i se foliga faʻapipiʻi atoatoa, faʻatagaina oe e faaseʻeina faʻamatalaga e le manaʻomia - e aunoa ma le manaʻomia o le fausiaina o faʻamaufaʻailoga tetele, lavelave pe tausia lima.
Tulaga lelei o le faatulagaga o le ORC:
E tasi le faila o le gaioiga o galuega taʻitasi, e faʻaitiitia ai le uta i luga ole NameNode (igoa igoa).
Lagolago mo ituaiga fa'amaumauga a le Hive, e aofia ai le DateTime, fa'ailoga numera ma fa'alavelave lavelave (fa'atulagaina, lisi, fa'afanua ma fa'atasi).
Faitau fa'atasi o le faila lava e tasi e ala i faiga eseese RecordReader.
Malosiaga e vaevae faila e aunoa ma le suʻeina o maka.
Fuafuaga o le fa'aputuga aupito maualuga e mafai ona tu'uina atu mo le faitau/tusi faiga fa'atatau i fa'amatalaga o lo'o i le vae faila.
Metadata o loʻo teuina i le Protocol Buffers binary serialization format, lea e mafai ai ona faʻaopoopo ma aveese fanua.
E teuina e le ORC le aoina o manoa i se faila e tasi, ma i totonu o le aoina, o faʻamaumauga o manoa o loʻo teuina i se faatulagaga koluma.
Ose faila o le ORC e teu ai vaega o laina e ta'ua o ta'avale ma fa'amatalaga lagolago i le vae o le faila. O le Postscript i le pito o le faila o loʻo i ai faʻamaufaʻailoga faʻamalosi ma le tele o le vae faʻapipiʻi.
Ole lapo'a fa'aletonu ole 250 MB. Ona o ia taʻavale tetele, o le faitau mai le HDFS e sili atu ona lelei le faʻatinoina: i poloka lapopoa vavalalata.
O le pito i lalo o le faila e fa'amaumau ai le lisi o laina i le faila, le numera o laina i le laina, ma le ituaiga fa'amatalaga o koluma ta'itasi. O lo'o tusia fo'i iina le fa'ai'uga o le tau, min, max ma le aofa'i mo koluma ta'itasi.
O le pito i lalo o le fasi pepa o lo'o i ai se lisi o nofoaga o vaitafe.
E fa'aogaina fa'amaumauga o laina pe a su'e laulau.
Fa'amaumauga o fa'amaumauga e aofia ai le tau maualalo ma le maualuga mo koluma ta'itasi ma le tulaga o laina i koluma ta'itasi. O fa'ailoga o le ORC e fa'aoga mo na'o le filifilia o laina ma laina laina, ae le mo le taliina o fesili.
Fa'atusatusaga o faila faila eseese
Avro faʻatusatusa i Parquet
O le Avro o se laina e teu ai, ae o Parquet e teuina faʻamaumauga i koluma.
Parquet e sili ona fetaui mo su'esu'ega au'ili'ili, o lona uiga o le faitau fa'agaioiga ma fa'amatalaga fa'amatalaga e sili atu le lelei nai lo le tusitusi.
Fa'atonuga tusi i Avro e sili atu ona lelei le fa'atinoina nai lo le Parquet.
O le Avro e feagai ma le evolusione o le taamilosaga sili atu ona matua. Na'o le Parquet e lagolagoina le fa'aopoopoina o le fa'aopoopo, a'o le Avro e lagolagoina le fa'alauteleina o le tele, o lona uiga, fa'aopoopo pe suia koluma.
Parquet e fetaui lelei mo le su'eina o se vaega o koluma i totonu o se laulau e tele koluma. Avro e talafeagai mo galuega ETL lea matou te fesiligia koluma uma.
ORC vs Parquet
E sili atu le teuina o faʻamatalaga faʻapipiʻi parquet.
ORC e sili atu ona fetaui ma faʻamatalaga pushdown.