Hvað eru Advanced Hadoop MapReduce Features?

The basic MapReduce programming explains the work flow details. But it does not cover the actual working details inside the MapReduce programming framework. Þessi grein mun útskýra gögn hreyfingu í gegnum MapReduce arkitektúr og API símtöl er notað til að gera raunverulegt vinnslu. Við munum einnig ræða customization tækni og virka hnekkir fyrir umsókn sérstakar þarfir.

The háþróaður MapReduce lögun lýsa framkvæmd og lægra stigi upplýsingar. Í venjulegum MapReduce forritun, Aðeins vitandi API og notkun þeirra nægja til að skrifa forrit. En innri upplýsingar MapReduce eru að verða að skilja raunverulegt starfsskilyrði upplýsingar og öðlast traust.

Nú skulum við ræða háþróaður lögun í eftirfarandi köflum.

Custom Tegund (Data): Fyrir notanda veitt Mapper og rörtengi, Hadoop MapReduce ramma nota alltaf vélritað gögn. Gögnin sem fer í gegnum kortagerðarmenn og reducers eru geymdar í Java hluti.

  • skrifanleg Interface: The skrifanleg Viðmótið er einn af mikilvægustu tengi. Hlutirnir sem hægt er að marshaled til / frá skrám og yfir net notkun þessa tengi. Hadoop notar einnig þessa tengi til að senda gögn á serialized formi. Sumir af þeim flokkum sem framfylgir skrifanleg tengi eru nefndir hér að neðan
  1. Texti bekknum(Það geymir String gögn)
  2. LongWritable
  3. FloatWritable
  4. IntWritable
  5. BooleanWritable

The siðvenja gögn tegund er einnig hægt að gera með því að innleiða skrifanleg interface. Hadoop er fær um að senda allar sérsniðin gögn tegund (sem passar þörf þína) sem útfærir skrifanleg tengi.

Eftirfarandi er skrifanleg tengi sem er með tvær aðferðir readFields og skrifa. The fyrstur aðferð (readFields) initializes gögn á hlut úr gögnum sem eru í 'í’ tvöfaldur straumi. The second aðferð (skrifa) er notað til að endurgera hlut tvöfaldur straumi 'út'. Mikilvægasta Samningurinn af öllu ferlinu er að röð lesa og skrifa til the tvöfaldur straumi er sama.

Listing1: Sýni skrifanleg tengi

opinber tengi skrifanleg {

void readFields(DataInput í);

ógilt skrifa(DataOutput út);

}

Custom Tegund (Key): Í fyrri hlutanum sem við höfum rætt um sérsniðna gögn gerð til að mæta umsókn ákveðin gögn kröfur. Það tekst gildi hluta eingöngu. Nú munum við einnig ræða um sérsniðna lykill tegund. Í Hadoop MapReduce, minnkuðu ferli inni í raðaða röð. Svo sérsniðin key type þarf að innleiða tengi heitir WritableComparable. Lykillinn tegundir ættu einnig að innleiða Tætifall ().

Eftirfarandi sýnir WritableComparable interface. Það táknar skrifanleg sem er einnig sambærileg.

Listing2: Sýnir WritableComparable interface

opinber tengi WritableComparable<T>

nær skrifanleg, sambærileg<T>

Hvernig á að nota Custom Types: Við höfum þegar rætt sérsniðna gildi og helstu tegundir sem hægt er að vinna með Hadoop. Nú ætlum við að ræða kerfi þannig að Hadoop getur skilið það. The JobConf mótmæla (sem skilgreinir starf) hefur tvær aðferðir sem kallast setOutputKeyClass () og setOutputValueClass () og þessar aðferðir eru notaðar til að stjórna gildi og helstu tegundir gagna. Ef Mapper framleiðir mismunandi tegundir sem ekki passa rörtengi þá JobConf er setMapOutputKeyClass () og setMapOutputValueClass () aðferðir er hægt að nota til að stilla input type eins og vænta af rörtengi.

hraðar Performance: Sjálfgefna flokkun aðferð er svolítið hægur eins og það les fyrst lykill gerð úr læk þá flokka bæti straum (með readFields() aðferð) og þá loks kalla compareTo () Aðferð til að helstu bekknum. The hraðar nálgun væri að ákveða að panta á milli takkana með því að skoða bæti læki án þáttun allt gögn sett. Til að framkvæma þetta hraðari samanburður kerfi, WritableComparator bekknum er hægt að framlengja með samanburðarlyfi sérstaklega við gagnatög þínum. Eftirfarandi er í bekknum yfirlýsing.

Listing3: Sýnir WritableComparator flokki

opinber bekknum WritableComparator

nær Object

útfærir RawComparator

Svo sérsniðin gögn og helstu tegundir leyfa til að nota hærra gögn uppbygging í Hadoop ramma. Í verklega Hadoop umsókn sérsniðnum gögn tegund er einn af mikilvægustu kröfurnar. Þannig að þetta eiginleiki gerir að nota sérsniðna skrifað í að vild gerðir og veitir veruleg flutningur framför.

inntak Snið: The InputFormat er einn af mikilvægustu tengi sem skilgreina inntak texta á MapReduce starf. Hadoop býður upp á mismunandi tegundir af InputFormat fyrir túlkun á ýmsum tegundum af gögnum inntak. Algengasta og er sjálfgefinn TextInputFormat sem er notað til að lesa línur frá textaskrá. Similarly SequenceFileInputFormat er notað til að lesa tvöfaldur skráarsnið.

Æðsti verkefni InputFormat er að lesa gögn úr inntaksskrá. Framkvæmd venju InputFormat Einnig er hægt eins og á umsókn þinn þörf. fyrir vanræksla TextInputFormat framkvæmd lykillinn er bæti móti á línu og gildi er innihald af the lína sagt upp af ' n’ character. Fyrir sérsniðnum framkvæmd, skilju getur verið hvaða staf og InputFormat munu flokka í samræmi við.

Hin starf af InputFormat er að skipta inntak skrá (gögn uppspretta) í brotum sem eru inntak að kortleggja verkefni. Þessi brot / kljúfa eru encapsulated í þeim tilvikum sem InputSplit tengi. The inntak gögn uppspretta getur verið nokkuð eins gagnagrunni töflunni, XML skrá eða einhver annar skrá. Svo hættu verða flutt byggt á umsókn kröfu. Mikilvægasti punkturinn er að skipt aðgerð ætti að vera fljótur og ódýr.

Eftir að kljúfa skrá, lesa rekstur frá einstökum kljúfa eru mjög mikilvæg. The RecordReader er ábyrgur fyrir lestur gagna frá kljúfa. The RecordReader ætti að vera duglegur nóg til að takast á við þá staðreynd að kljúfa ekki alltaf enda snyrtilegur í lok línu. The RecordReader alltaf les fyrr en í lok línunnar, jafnvel þótt það fer yfir fræðilega enda hættu. Þessi eiginleiki er mjög mikilvægt að forðast vantar af gögnum sem gætu hafa farið yfir InputSplit mörk.

  • Custom InputFormat: Í helstu forritum InputFormat er notuð beint í. En fyrir sérsniðnum lesa besta leiðin er að undirflokki FileInputFormat. Þetta ágrip bekknum gefur virkni til að vinna skrár eins og hverja kröfu umsókn. Fyrir sérsniðnum þáttun, the getRecordReader () aðferð verður að yfirtaka sem skilar dæmi um RecordReader. Þetta RecordReader er ábyrgur fyrir lestur og þáttun.
  • varamaður Source (Data): The InputFormat lýsir tvennt, fyrst er framsetning gagna til Mapper og annað er gögn uppspretta. Flestar útfærslunar eru byggðar á FileInputFormat, þar sem gögn uppspretta er staðbundin skrá kerfi HDFS (Hadoop Distributed File System).En fyrir aðrar gerðir af gögnum heimildum, sérsniðin framkvæmd InputFormat er krafist. For example, NoSQL gagnasafn eins HBase veitir TableInputFormat fyrir lestur gagna frá gagnasafn matskeið. Þannig að gögn uppspretta getur verið allt sem hægt er að meðhöndla með sérsniðnum framkvæmd.

Output Snið: The OutputFormat er ábyrgur fyrir skrifa aðgerð. Við höfum þegar rætt um að InputFormat og RecordReader tengi eru ábyrgir fyrir að lesa gögn í MapReduce dagskrá. Eftir vinnslu gögn, að skrifa aðgerð til varanlegrar geymslu er stjórnað af OutputFormat og RecordWriter tengi. The vanræksla snið er TextOutputFormat sem skrifar helstu / gildi par sem strengi til the framleiðsla skrá. Hin framleiðsla snið er SequenceFileOutputFormat og það heldur gögn í tvöfaldur formi. Allir þessir flokkar nota skrifa () og readFields () aðferðir við skrifanleg bekkjum.

The OutputFormat framkvæmd þarf að aðlaga að skrifa gögn í sérsniðnum formi. The FileOutputFormat ágrip bekknum verður að framlengja til að gera customization. The JobConf.setOutputFormat () Aðferðin verður breytt til að nota mismunandi sérsniðna snið.

gögn Skipting: Skipting getur verið skilgreind sem ferli sem ákvarðar hvaða rörtengi dæmi munu fá hvaða millistig lykil / gildi par. Hver Mapper ættu ákveða áfangastað minnkuðu öllum sínum framleiðsla helstu / gildi pör. Mikilvægasti punkturinn er að fyrir hvaða lykil óháð mapper dæmis hennar, áfangastaður skipting er sú sama. Fyrir árangur ástæðan kortagerðarmenn aldrei samskipti við hvert annað til skipting á tiltekinni lykli.

The Partitioner tengi er notað af Hadoop kerfinu til að ákvarða áfangastað skipting fyrir lykil / gildi par. Fjölda skipting ætti að passa við fjölda minnka verkefnum. The MapReduce ramma ákvarðar fjölda skipting þegar starf hefst.

Eftirfarandi er undirskrift Partitioner tengi.

Listing 4: Sýni Partitioner tengi

opinber tengi Partitioner<K2, V2>

nær JobConfigurable

Ályktun: Í þessari umræðu sem við höfum fjallað um mikilvægustu Hadoop MapReduce aðgerðir. Þessar aðgerðir eru gagnlegar fyrir customization tilgangi. Í hagnýtu MapReduce umsóknir, sjálfgefið framkvæmd API hefur ekki mikið notkun. Rather, The siðvenja lögun (sem eru byggðar á verða API) hafa veruleg áhrif. Öll þessi customizations hægt að gera auðveldlega þegar hugtökin eru skýr. Vona að þessi grein mun vera gagnlegt fyrir skilning á háþróaður lögun og framkvæmd þeirra.

 

Tagged on: , ,
============================================= ============================================== Buy best TechAlpine Books on Amazon
============================================== ---------------------------------------------------------------- electrician ct chestnutelectric
error

Enjoy this blog? Please spread the word :)

Follow by Email
LinkedIn
LinkedIn
Share