Cad iad na Gnéithe Casta Hadoop MapReduce?

The basic MapReduce programming explains the work flow details. But it does not cover the actual working details inside the MapReduce programming framework. Beidh an tAirteagal seo a mhíniú an ghluaiseacht sonraí tríd an ailtireacht MapReduce agus na glaonna API a úsáidtear a dhéanamh ar phróiseáil iarbhír. Pléifimid chomh maith ar na teicnící saincheaptha agus sáraitheach feidhm do riachtanais shonracha i bhfeidhm.

Ar na gnéithe MapReduce chun cinn cur síos ar an forghníomhú agus sonraí ar leibhéal níos ísle. I gcláir MapReduce gnáth, Tá APIs ach a fhios agam agus a n-úsáid go leor le hiarratais a scríobh. Ach tá na sonraí istigh de MapReduce mór chun tuiscint a fháil ar na sonraí oibre iarbhír agus muinín a fháil.

Anois a ligean dúinn plé a dhéanamh ar gnéithe casta sna codanna seo a leanas.

Cineálacha Saincheaptha (Data): Mar úsáideoir ar fáil Mapper agus reducer, creat Hadoop MapReduce úsáid i gcónaí sonraí clóscríofa. Na sonraí a théann trí Mappers agus laghdaitheoirí a stóráil i rudaí Java.

  • inscríofa Chomhéadain: Is é an comhéadan Inscríofa ar cheann de na gcomhéadan is tábhachtaí. Na rudaí is féidir a marshaled chuig / ó chomhaid agus ar an úsáid an líonra seo comhéadan. Hadoop úsáid freisin as an comhéadan chun sonraí a tharchur i bhfoirm serialized. Tá cuid de na ranganna a chuireann comhéadan Inscríofa atá luaite thíos
  1. aicme téacs(Siopaí sé na sonraí Teaghrán)
  2. LongWritable
  3. FloatWritable
  4. IntWritable
  5. BooleanWritable

Is féidir leis an chineál sonraí saincheaptha a dhéanamh freisin trí chur i bhfeidhm inscríofa interface. Is Hadoop ann a tharchur ar aon chineál sonraí saincheaptha (a oireann do chuid riachtanas) go gcuireann Inscríofa comhéadan.

Tar éis go bhfuil an comhéadan Inscríofa atá ag dhá mhodh readFields agus scríobh. An chéad mhodh (readFields) initializes na sonraí an ruda ó na sonraí atá sa 'in’ sruth dénártha. An dara modh (scríobh) Úsáidtear a athchruthú an réad leis an sruth dénártha 'amach'. Tá an conradh is tábhachtaí den bpróiseas ar fad go bhfuil an t-ordú ar léamh agus a scríobh chuig an sruth dénártha céanna.

Listing1: Showing comhéadan Inscríofa

Comhéadan poiblí Inscríofa {

readFields neamhní(DataInput in);

scríobh neamhní(DataOutput amach);

}

Cineálacha Saincheaptha (Key): Sa roinn roimhe seo ní mór dúinn a pléadh maidir leis an gcineál sonraí a saincheaptha chun freastal ar riachtanas na sonraí iarratais ar leith. Bainistíonn sé an chuid luach ach. Anois, beidh muid ag plé a dhéanamh chomh maith mar gheall ar an gcineál eochair saincheaptha. I Hadoop MapReduce, an reducer próisis an eochair in ord sórtáilte. Mar sin, ní mór an cineál eochair saincheaptha chun an comhéadan a dtugtar a chur i bhfeidhm WritableComparable. Ba chóir an príomh-cineálacha i bhfeidhm freisin hashCode ().

Tar ag taispeáint WritableComparable interface. Léiríonn sé inscríofa a bhfuil freisin inchomparáide.

Listing2: Torthaí WritableComparable interface

WritableComparable chomhéadan poiblí<T>

Síneann Inscríofa, inchomparáide<T>

Conas a úsáid Cineálacha Saincheaptha: Táimid tar éis a pléadh cheana luach saincheaptha agus cineálacha tábhachtacha ar féidir a phróiseáil Hadoop. Anois, beidh muid ag plé a dhéanamh ar an mheicníocht ionas gur féidir Hadoop thuiscint. An réad JobConf (a shainmhíníonn an post) Tá dhá mhodh a dtugtar setOutputKeyClass () agus setOutputValueClass () agus na modhanna a úsáidtear chun rialú a dhéanamh ar an luach agus príomhchineálacha sonraí. Má Táirgeann an Mapper cineálacha éagsúla nach mheaitseáil reducer ansin JobConf ar setMapOutputKeyClass () agus setMapOutputValueClass () Is féidir le modhanna a úsáid a shocrú ar an gcineál ionchur mar atá ag súil leis an reducer.

Feidhmíocht Faster: Tá an próiseas sórtáil réamhshocraithe le beagán níos moille mar a léann sé ar dtús leis an chineál eochair ó sruth ansin pharsáil an sruth beart (ag baint úsáide as readFields() modh) agus ansin glaoch ar deireadh an compareTo () modh an rang príomh. Ba mhaith leis an gcur chuige níos tapúla a bheith cinneadh á dhéanamh a ordú idir na heochracha ag seiceáil na sruthanna beart gan parsáil an tacar sonraí ar fad. an mheicníocht i gcomparáid níos tapúla a chur i bhfeidhm, WritableComparator Is féidir aicme a fhadú le comparadóir sonrach le do cineálacha sonraí. Is Tar éis an dearbhú ranga.

Listing3: Torthaí WritableComparator rang

WritableComparator rang poiblí

Síneann Object

Cuireann RawComparator

Mar sin, a cheadú sonraí saincheaptha agus cineálacha eochair a úsáid struchtúr sonraí ardleibhéil faoi chuimsiú Hadoop. San iarratas praiticiúil cineál sonraí saincheaptha Hadoop ar cheann de na riachtanais is tábhachtaí. Mar sin, ceadaíonn an ghné ag baint úsáide as cineálacha saincheaptha inscríofa agus cuireann feabhas suntasach ar fheidhmíocht.

Formáidí ionchur: The InputFormat Is é ceann de na gcomhéadan is tábhachtaí a shainiú tsonraíocht ionchur post MapReduce. Hadoop tairiscintí cineálacha éagsúla InputFormat le léirithe difriúla chineálacha éagsúla sonraí ionchuir. Is é an réamhshocrú is coitianta agus TextInputFormat a úsáidtear chun línte ó chomhad téacs a léamh. Similarly SequenceFileInputFormat úsáidtear chun léamh formáidí comhaid dénártha.

An tasc bunúsach de InputFormat is é sin le léamh ar na sonraí ó na comhaid ionchur. Cur i bhfeidhm saincheaptha InputFormat is féidir freisin de réir do gá iarratas. Mar réamhshocraithe TextInputFormat cur i bhfeidhm is é an eochair an beart fhritháireamh ar an líne agus luach an t-ábhar an líne fhoirceannadh ' n’ character. Maidir le cur chun feidhme saincheaptha, Is féidir an deighilteoir aon charachtar agus InputFormat Beidh pharsáil réir sin.

An post eile InputFormat is é sin le scoilt an comhad ionchur (sonraí foinseacha) ina blúirí atá an t-ionchur a tascanna léarscáil. Na blúirí / splits siad imchochlaithe in na cásanna InputSplit comhéadan. Is féidir leis an fhoinse sonraí ionchuir a bheith rud ar bith cosúil le tábla bunachar, comhad xml nó comhad éigin eile. Mar sin, beidh an scoilt a dhéanamh bunaithe ar an riachtanas iarratas. Is é an pointe is tábhachtaí gur chóir an oibríocht scoilt a bheith go tapa agus saor.

Tar éis scoilteadh na comhaid, Léigh oibriú ó tá splits aonair an-tábhachtach. Tá an RecordReader freagrach as léamh na sonraí ó na splits. The RecordReader Ba chóir go mbeadh éifeachtach go leor chun déileáil leis an bhfíric nach bhfuil na splits deireadh i gcónaí néata ag deireadh líne. The RecordReader léann i gcónaí go dtí deireadh na líne fiú má dtrasnaíonn sé an deireadh teoiriciúil scoilt. Is é an gné an-tábhachtach a sheachaint ar iarraidh taifead a d'fhéadfadh a bheith thrasnaigh na teorainneacha InputSplit.

  • Saincheaptha InputFormat: Agus iarratais bunúsacha InputFormat úsáidtear go díreach. Ach do saincheaptha léamh an bealach is fearr chun fho-aicme FileInputFormat. Soláthraíonn an rang teibí feidhmiúlachtaí chun comhaid ionramháil de réir riachtanas iarratas. Maidir le parsáil saincheaptha, the getRecordReader () Caithfear modh a shárú a tuairisceáin bhfuil drochriarachán RecordReader. seo RecordReader tá an freagrach as léitheoireacht agus parsáil.
  • Foinse malartach (Data): An InputFormat síos dhá rud, Is é an chéad cur i láthair na sonraí chuig an Mapper agus is é an dara foinse na sonraí. An chuid is mó de na implementations bunaithe ar an FileInputFormat, áit a bhfuil an fhoinse sonraí córas comhaid áitiúil de HDFS (Hadoop Distributed File System).Ach do chineálacha eile na bhfoinsí sonraí, Tá cur i bhfeidhm saincheaptha InputFormat teastáil. For example, bunachar NoSQL cosúil soláthraíonn HBase TableInputFormat do shonraí a léamh ó tháblaí bhunachar. Mar sin, is féidir leis an fhoinse do na sonraí aon rud is féidir a a láimhseáil ag cur i bhfeidhm saincheaptha.

Formáidí aschur: The OutputFormat freagrach as oibriú scríobh. Táimid tar éis a pléadh cheana féin go InputFormat agus RecordReader Tá comhéadain atá freagrach as sonraí a léamh i gclár MapReduce. Tar éis na sonraí a phróiseáil, tá an oibríocht scríobh le stóráil buan bhainistiú ag OutputFormat agus RecordWriter comhéadain. Is í an fhormáid réamhshocraithe TextOutputFormat a scríobhann an eochair / péirí luach mar teaghráin leis an comhad a aschur. Is í an fhormáid aschur eile SequenceFileOutputFormat agus coimeádann sé na sonraí i bhfoirm dénártha. Gach na ranganna a úsáid scríobh () agus readFields () modhanna inscríofa ranganna.

The OutputFormat Ní mór cur chun feidhme a chur in oiriúint chun sonraí a scríobh i bhformáid saincheaptha. The FileOutputFormat Caithfear aicme teibí a shíneadh a dhéanamh ar an saincheaptha. The JobConf.setOutputFormat () Caithfear modh a athrú chun úsáid a bhaint as formáid saincheaptha éagsúla.

sonraí Partitioning: Is féidir partitioning a shainmhíniú mar phróiseas a chinneann a ásc reducer fháil a idirmheánacha eochair / luach péire. Ba chóir do gach Mapper chinneadh an reducer scríbe le haghaidh gach a eochair aschur péirí luach /. Is é an pointe is tábhachtaí gur le haghaidh aon eochair beag beann ar a chás Mapper, Is é an laindéal scríbe an gcéanna. Le haghaidh feidhmíocht chúis Mappers riamh cumarsáid a dhéanamh lena chéile chun an críochdheighilt na eochair áirithe.

The Partitioner Tá comhéadan in úsáid ag an gcóras Hadoop chun a chinneadh an laindéal scríbe le haghaidh eochair péire luach /. Ba chóir líon na n landairí a mheaitseáil leis an líon na tascanna a laghdú. Cinneann an creat MapReduce líon na Deighiltí nuair a thosaíonn post.

Tar éis go bhfuil síniú Partitioner comhéadan.

Listing 4: Showing comhéadan Partitioner

Partitioner chomhéadan poiblí<K2, V2>

Síneann JobConfigurable

Conclúid: Sa phlé seo ní mór dúinn a chumhdaítear na gnéithe is tábhachtaí Hadoop MapReduce. Tá na gnéithe cabhrach don fheidhm saincheaptha. I iarratais MapReduce praiticiúil, nach bhfuil an cur i bhfeidhm cheal APIs bheith úsáid i bhfad. Rather, na gnéithe saincheaptha (atá bunaithe ar an APIs lé) tionchar suntasach. Is féidir le gach na customizations a dhéanamh go héasca nuair atá na coincheapa soiléir. Hope alt seo ina chuidiú chun tuiscint ar an gnéithe casta agus a gcur chun feidhme.

 

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