What Are The Advanced Hadoop MapReduce Features?

Pamata MapReduce programmēšanas skaidro darba plūsmu detaļas. Bet tas neattiecas uz faktisko darba detaļas iekšpusē MapReduce plānošanas sistēmu. Šis raksts būs paskaidrot datu kustību caur MapReduce arhitektūru un API zvanus mēdza darīt faktisko pārstrādi. Mēs arī apspriest pielāgošanas metodes un funkciju pārtraukšana, Application īpašām vajadzībām.

Uzlabotas MapReduce funkcijas aprakstīt izpildi un zemāku līmeņu detaļas. Normālā MapReduce programmēšana, Tikai zinot API un to izmantošana ir pietiekama, lai rakstīt pieteikumus. Bet iekšējās ziņas par MapReduce ir jābūt, lai izprastu faktisko darba detaļas un iegūt uzticību.

Tagad ļaujiet mums apspriest uzlabotas funkcijas šādās sadaļās.

Custom veidi (Data): Lietotāja nosacījumu Mapper un reduktoru, Hadoop MapReduce regulējums vienmēr izmantot drukāti dati. Dati, kas iet caur kartētājiem un reduktori tiek glabāti Java objektu.

  • rakstāms Interface: Writable saskarne ir viens no svarīgākajiem saskarnes. Objekti, kas var tikt marshaled uz / no failiem un vairāk nekā tīkla izmantot šo interfeisu. Hadoop arī izmanto šo interfeisu, lai pārraidītu datus serializēja formā. Daži no klasēm, kas īsteno rakstāms interfeiss ir minēti zemāk
  1. teksta klase(Tā veikalos String dati)
  2. LongWritable
  3. FloatWritable
  4. IntWritable
  5. BooleanWritable

Pasūtījuma datu tips var veikt arī, īstenojot rakstāms interface. Hadoop, kas spēj raidīt jebkura pasūtījuma datu tipu (kas atbilst jūsu prasībām) kas īsteno rakstāms interfeisu.

Pēc ir Rakstāma saskarne, kas ir ar divām metodēm readFields un rakstīt. Pirmā metode (readFields) inicializē datus objektu no datiem, kas ietverti "in’ bināro straume. Otrā metode (rakstīt) tiek izmantots, lai rekonstruētu objektu bināro plūsma "ārā". Svarīgākais līgums visa procesa ir, ka rīkojums par lasīt un rakstīt bināro plūsma ir tāds pats.

Listing1: Rāda rakstāms interfeiss

valsts saskarne Rakstāma {

neesošu readFields(dati ieeja in);

neesošu rakstīt(DataOutput out);

}

Custom veidi (taustiņš): Iepriekšējā nodaļā mēs esam apsprieduši par pasūtījuma datu tipu, lai apmierinātu pieteikumu specifisku datu prasību. Tā pārvalda vērtību daļu tikai. Tagad mēs diskutēt arī par pasūtījuma galveno tipu. In Hadoop MapReduce, samazināja apstrādā atslēgu šķiroto kārtībā. Tātad pasūtījuma galvenais veids ir jāievieš interfeisu sauc WritableComparable. Galvenie veidi būtu arī jāievieš Jaucējkods ().

Pēc parāda WritableComparable interface. Tā ir rakstāms kas ir arī salīdzināms.

Listing2: Rāda WritableComparable interface

valsts saskarne WritableComparable<T>

paplašina Rakstāma, salīdzināms<T>

Kā lietot Custom veidi: Mēs jau esam apsprieduši muitas vērtība un galvenie veidi, ko var apstrādāt Hadoop. Tagad mēs apspriedīsim mehānismu, lai Hadoop var saprast. JobConf objekts (kas nosaka darbu) ir divas metodes, ko sauc par setOutputKeyClass () un setOutputValueClass () un šīs metodes tiek izmantotas, lai kontrolētu vērtību un galveno datu tipu. Ja Mapper ražo dažāda veida, kas neatbilst reduktoru tad JobConf s setMapOutputKeyClass () un setMapOutputValueClass () metodes var izmantot, lai uzstādītu ievades veids, kā paredzēts ar reduktoru.

ātrāk Performance: Noklusējuma šķirošanas process ir nedaudz lēnāks, jo tā pirmo reizi skan galveno veidu no strauta, tad izanalizēt baitu straume (izmantojot readFields() metode) un tad beidzot saucam compareTo () metode galveno klasi. Jo ātrāk pieeja būtu lemjot par pasūtīšanu starp taustiņiem, pārbaudot baitu plūsmu bez analizējot visu datu kopu. Lai īstenotu šo ātrāku salīdzināšanas mehānismu, WritableComparator klase var pagarināt ar salīdzināmu konkrētu Jūsu datu tipu. Pēc ir klases deklarācija.

Listing3: Rāda WritableComparator klase

valsts klases WritableComparator

paplašina objektu

īsteno RawComparator

Tātad pasūtījuma dati un galvenie veidi ļauj izmantot augstāka līmeņa datu struktūru Hadoop ietvaros. Praktiskajā Hadoop pieteikuma pasūtījuma datu tips ir viena no svarīgākajām prasībām. Tātad šī funkcija ļauj, izmantojot pasūtījuma rakstāmās veidu un sniedz ievērojamu veiktspējas uzlabojumu.

ieejas formāti: The InputFormat ir viens no svarīgākajiem saskarnes, kas nosaka ieejas specifikāciju par MapReduce darbu. Hadoop piedāvā dažādu veidu InputFormat interpretācijas dažādu veidu ieejas datu. Visbiežāk un noklusējuma ir TextInputFormat ko izmanto, lai lasītu līnijas no teksta faila. vienādi SequenceFileInputFormat izmanto, lai lasītu bināro failu formātus.

Būtisks uzdevums InputFormat ir nolasīt datus no ievades failu. Izpilde pasūtījuma InputFormat ir iespējams, kā par savu pieteikumu vajadzību. par saistību nepildīšanu TextInputFormat īstenošana galvenais ir baitu kompensēt no līnijas un vērtības ir saturs līnijas izbeigta ar " n’ character. Par pasūtījuma izpildi, separators var būt jebkurš raksturs un InputFormat parsēt attiecīgi.

Otrs darbs InputFormat ir sadalīt ievades failu (datu avots) gabalos, kas ir ieejas, lai kartētu uzdevumus. Šie fragmenti / šķēlumi ir iekapsulēti instancēs InputSplit interfeisu. Ieejas datu avots var būt jebkas, piemēram, datu bāzes tabulas, xml fails vai kādu citu failu. Tātad split tiks veikta, pamatojoties uz pieteikuma prasībām. Svarīgākais ir tas, ka dalījums darbība būtu ātri un lēti.

Pēc sadalot failus, lasīt darbību no individuālie šķēlumi ir ļoti svarīgi. RecordReader ir atbildīgs, lai nolasītu datus no plaisām. The RecordReader būtu pietiekami efektīvi, lai rīkotos ar to, ka izirst ne vienmēr galu glīti beigās līnijas. The RecordReader vienmēr ir formulēts līdz gala līnijas, pat tad, ja tā šķērso teorētisko galu split. Šī funkcija ir ļoti svarīga, lai izvairītos no trūkst ierakstu, kas varētu ir šķērsojušas InputSplit robežas.

  • Custom InputFormat: Pamata lietojumprogrammu InputFormat tiek izmantoti tieši. Bet pasūtījuma lasīt labākais veids ir apakšklasi FileInputFormat. Šī abstraktā klase nodrošina funkcionalitāti, lai manipulēt failus kā vienu pieteikumu prasība. Pasūtījuma parsēšana, the getRecordReader () Metode ir svarīgāka, kas atgriež gadījums RecordReader. šis RecordReader ir atbildīga par lasīšanas un parsēšana.
  • Alternatīvā Source (Data): InputFormat apraksta divas lietas, Pirmais ir iekļauti dati uz Mapper un otrais ir datu avots. Lielākā daļa no realizācijas ir balstīti uz FileInputFormat, ja datu avots ir vietējā failu sistēma HDFS (Hadoop Distributed File System).Bet cita veida datu avotiem, ir nepieciešams pasūtījuma ieviešana InputFormat. For example, NoSQL datu bāzes, piemēram, HBase sniedz TableInputFormat par lasīšanas datu bāzes tabulām. Tātad datu avots var būt jebkas, kas var apstrādāt ar pasūtījuma izpildi.

Izejas formāti: The OutputFormat ir atbildīgs par rakstīt darbību. Mēs jau runājām, ka InputFormat un RecordReader saskarnes ir atbildīgi par lasīšanas datus MapReduce programmas. Pēc datu apstrādes, rakstīt darbība uz pastāvīgai uzglabāšanai pārvalda OutputFormat un RecordWriter saskarnes. Noklusējuma formāts ir TextOutputFormat kas raksta atslēgu / vērtību pārus kā virknes uz izejas failu. Otrs izejas formāts ir SequenceFileOutputFormat un tas saglabā datus binārā formā. Visas šīs klases izmanto rakstīt () un readFields () metodes rakstāms classes.

The OutputFormat īstenošana ir pielāgot, lai rakstītu datus pasūtījuma formātā. The FileOutputFormat abstraktā klase ir jāpaplašina, lai pielāgošanu. The JobConf.setOutputFormat () Metode ir pārveidotas, lai lietotu citu pielāgotu formātu.

Datu Sadalīšana: Sadalīšana var definēt kā procesu, kas nosaka, kas Reducer instance saņems kura starpposma atslēgu / vērtību pāri. Katrs Mapper jānosaka mērķa reduktoru visiem tās produkcija atslēgu / vērtību pārus. Svarīgākais ir tas, ka par jebkuru taustiņu, neatkarīgi no tās Mapper instancē, galapunkts nodalījums ir tāds pats. Par darbības iemesls kartētājiem nekad sazināties ar otru, lai partition konkrēta atslēgu.

The Partitioner saskarne ar Hadoop sistēma tiek izmantota, lai noteiktu mērķa partition uz atslēgas / vērtības pāri. Starpsienu skaits būtu jāsakrīt ar skaitu samazināt uzdevumu. MapReduce regulējums nosaka skaitu, starpsienām, kad darbs sākas.

Pēc ir paraksts Partitioner interfeiss.

Listing 4: Rāda Partitioner interfeiss

valsts saskarne Partitioner<K2, V2>

paplašina JobConfigurable

Secinājums: Šajā diskusijā mēs esam uz svarīgākos Hadoop MapReduce funkcijas. Šīs funkcijas ir noderīga pielāgošanas nolūkā. Praktiski MapReduce pieteikumus, noklusējuma īstenošana API nav daudz izmantošanu. Rather, pielāgotie funkcijas (kas balstās uz pakļauto API) ir būtiska ietekme. Visi šie pielāgojumi var izdarīt viegli, kad jēdzieni ir skaidri. Ceru, ka šis raksts būs noderīga, lai izprastu uzlabotas funkcijas un to īstenošanu.

 

Tagged on: , ,
============================================= ============================================== Pērciet labākās Techalpine grāmatas vietnē Amazon,en,Elektriķa CT kastaņu valodas,en
============================================== ---------------------------------------------------------------- electrician ct chestnutelectric
error

Enjoy this blog? Please spread the word :)

Follow by Email
LinkedIn
LinkedIn
Share