Bevezetés a Hadoop komponensekbe

A Hadoop alkotóelemei elsősorban HDFS, Map Reduce, Fonal. Ma egy digitális korban élünk, ahol az adatok előállítási aránya nagyon magas, megközelítőleg napi 2, 5 kvintill adatot állítunk elő. Bár a lemezek tárolási kapacitása növekszik, de a keresési arány nem növekedett ezen adatmennyiségnél. Ennek kiküszöböléséhez az adatokat párhuzamosan kell elolvasnunk, és a Hadoopban ezt elérni tudjuk egy HDFS-t (Hadoop Distributed File System), ahol az adatkészleteket blokkokként tárolják a HDFS-ben (a részletekért lásd a HDFS fejezetet) az adatok párhuzamos olvasása és elérése érdekében. magasabb feldolgozási sebesség. Az adatok feldolgozásával valamilyen lényeges információ beolvasása vagy előrejelzése, vagy tendenciák vagy minták beolvasása történik. A MapReduce folyamat célja a kívánt információ beszerzése. A Térkép és a Kicsinyítés az adatfeldolgozás két különböző fázisa.

A Hadoop fő alkotóelemei

A Hadoop fő alkotóelemeit az alábbiakban ismertetjük:

1. Hadoop elosztott fájlrendszer (HDFS)

A HDFS a Big Data tároló rétege, sok gép klasztere, a tárolt adatok felhasználhatók a Hadoop segítségével történő feldolgozásra. Amint az adatok HDFS-hez kerülnek, bármikor feldolgozhatjuk őket, amíg az adatok feldolgozásának ideje HDFS-ben található, amíg a fájlokat manuálisan töröljük. A HDFS blokkként tárolja az adatokat, a blokk minimális mérete 128 MB a Hadoop 2.x-ben, és az 1.x esetében 64 MB. A HDFS megismétli a rendelkezésre álló adatok blokkjait, ha az adatokat egy gépen tárolják, és ha a gép meghiúsul, az adatok nem vesznek el, de ezek elkerülése érdekében az adatokat különböző gépeken replikálják. A replikációs tényező alapértelmezés szerint 3, és megváltoztathatjuk a HDFS-site.xml fájlban, vagy a Hadoop fs -strep -w 3 / dir paranccsal, replikálva, hogy a blokkok különböző gépeken vannak a magas rendelkezésre állás érdekében.
A HDFS egy mester-szolga architektúra, a NameNode mint mester és az Data Node mint a szolga. A NameNode az a gép, amelyben az összes metaadat tárolódik az összes DataNode-ban tárolt blokkból.

2. fonal

A YARN bevezetésre került a Hadoop 2.x verziójában, mielőtt a Hadoopnak volt egy JobTracker az erőforrás-kezelésre. Job Tracker volt a mester, és rabszolgaként volt egy Task Tracker. A Job Tracker volt az a személy, aki a munkák ütemezésével és az erőforrások elosztásával vigyázott. A Task Tracker gondoskodott a Térkép és a Feladatok csökkentéséről, és az állapotot rendszeresen frissítették a Job Trackerre. A With egy erőforrás-kezelő típusa volt skálázhatósági korláttal, és a feladatok egyidejű végrehajtása szintén korlátozott volt. Ezekre a kérdésekre a YARN foglalkozott, és gondoskodott az erőforrások elosztásáról és a munkahelyek ütemezéséről egy fürtön. Térkép végrehajtása Csökkentse a feladat erőforrásait egy fürtben annak érdekében, hogy a YARN segítséget nyújtson a feladathoz hozzárendelt erőforrásokhoz. A YARN meghatározza, hogy melyik munkát hajtják végre, és melyik gépet hajtják végre. Minden információval rendelkezik a fürtben rendelkezésre álló magokról és memóriáról, nyomon követi a fürt memóriafelhasználását. Az erőforrás-elosztásról szóló döntés meghozatalakor a NameNode-val kapcsolatba lép az adatokkal, ahol tartózkodik.

3. MapReduce

A Hadoop ökoszisztéma költséghatékony, méretezhető és rugalmas módszer az ilyen nagy adatkészletekkel történő munkavégzésre. A Hadoop egy olyan keretrendszer, amely egy adott, a MapReduce nevű programozási modellt használ a számítási feladatok blokkokra bontására, amelyeket a Hadoop elosztott fájlrendszer (HDFS) segítségével árucikkek gépeinek csoportja mentén lehet elosztani.

A MapReduce két különböző feladat: Térkép és Kicsinyítés, Térkép megelőzi a Kicsinyítési fázist. Amint a neve is sugallja, a Map fázis az adatokat kulcs-érték párokba térképezi, mivel mindannyian tudjuk, hogy a Hadoop kulcsfontosságú értékeket használ fel a feldolgozáshoz. A redukciós szakasz az a szakasz, ahol megvan a tényleges megvalósítandó logika. Ezen a két fázison kívül a shuffle és a sort fázist is végrehajtja.

1. Térképkészítő

A Mapper az az osztály, ahol a bemeneti fájlt kulcs- és értékpárokká alakítják további feldolgozás céljából. Az adatok olvasása közben csak kulcsértékekben olvashatók, ahol a kulcs a bit eltolás, és az érték a teljes rekord.

Például van egy Diary.txt fájlunk, amelyben két sort írtunk, azaz két rekordot.

Ez egy csodálatos nap, amelyet itt kellene élveznünk, a „t” eltolása 0 és „w” esetén 33 (a fehér terek karakternek számítanak), tehát a térképező az adatokat kulcs-érték párként fogja olvasni, as (kulcs, érték), (0, ez egy csodálatos nap), (33, kellene élveznünk)

2. Reduktor

A reduktor az az osztály, amely elfogadja a kulcsokat és az értékeket a térképező fázis kimenetéből. A térképezőből előállított kulcsok és értékek bevitelre kerülnek a reduktorban a további feldolgozáshoz. A Reducer több térképírótól fogad adatokat. A reduktor aggregálja ezeket a közbenső adatokat csökkentett számú kulcsra és értékre, amely a végső kimenet. Ezt látjuk a példában.

3. Illesztőprogram

A térképező és reduktor osztályokon kívül szükségünk van egy újabb osztályra, azaz a Driver osztályra. Ez a kód szükséges a MapReduce számára, mivel ez a híd a keret és a megvalósított logika között. Meghatározza a konfigurációt, a bemeneti adat elérési útját, a kimeneti tárolási útvonalat, és ami a legfontosabb, hogy mely térképező és reduktor osztályokat kell megvalósítani, valamint sok más konfigurációt be kell állítani ebben az osztályban. Például az illesztőprogram osztályában meghatározhatjuk a kimeneti fájl elválasztóját az alábbi példában szereplő illesztőprogram osztály szerint.

Példa

Fontolja meg, hogy van egy utazási iroda adatállománya, most az adatokból ki kell számítanunk, hogy hány ember választja egy adott rendeltetési helyre utazni. Ennek eléréséhez kulcsot kell venni a rendeltetési helyről, és a számláláshoz az 1. értéket vesszük. Tehát a térképező fázisban a rendeltetési helyet az 1 értékre képezzük. Most a véletlenszerű sorrendben és a rendező szakaszban, leképezi az összes értéket egy adott kulcshoz. Például, ha rendeltetési helyünk MAA, akkor leképeztünk 1-et is, és 2 esetünk van a megoszlás és a válogatás után MAA-t kapunk, (1, 1) ahol (1, 1) az érték. A reduktor szakaszában már van egy logika, amely a reduktor szakaszában megvalósult az értékek hozzáadásához, hogy megkapjuk a rendeltetési helyre lefoglalt jegy teljes számát. Ez a MapReduce folyamata.

Az alábbiakban bemutatjuk a fenti példaképet a végrehajtott programról.

1. Vezetői osztály

2. Mapper osztály

3. Reduktor osztály

A Hadoop végrehajtása

A Hadoop végrehajtásához először ki kell építeni az edényt, majd végrehajthatjuk a Hadoop jar alábbi parancs használatával: eample.jar /input.txt /output.txt

Következtetés

Itt megbeszéljük a Hadoop fő alkotóelemeit, például a HDFS, a Map Reduce és a YARN. Ez egy elosztott fürtszámítási keret, amely elősegíti az adatok tárolását és feldolgozását, valamint elvégzi a rögzített adatok szükséges elemzését. A Hadoop az adatok szempontjából rugalmas, megbízható, mivel az adatok replikálódnak és méretezhetők, azaz további gépeket adhatunk a fürthez az adatok tárolására és feldolgozására.

Ajánlott cikkek

Ez egy útmutató a Hadoop Componentshez. Itt a Hadoop fő alkotóelemeit tárgyaltuk példákkal. A további javasolt cikkeken keresztül további információkat is megtudhat -

  1. Bevezetés a JDBC architektúrába
  2. Mi a Hadoop Cluster?
  3. Mi a MapReduce a Hadoopban?
  4. Mi a nagy adat és Hadoop?
  5. Hadoop fs parancsok

Kategória: