sql >> Database teknologi >  >> NoSQL >> HBase

Forskellen mellem InputSplit vs Blocks i Hadoop

I denne MapReduce tutorial vil vi diskutere sammenligningen mellem MapReduce InputSplit vs Blocks i Hadoop . For det første vil vi se, hvad der er HDFS-datablokke ved siden af, hvad der er Hadoop InputSplit.

Så vil vi se den funktionelle forskel mellem InputSplit vs Blocks. Til sidst vil vi også diskutere eksemplet med Hadoop InputSplit og Data-blokke i HDFS.

Introduktion til InputSplit og Blocks i Hadoop

Lad os først diskutere, hvad der er HDFS-datablokke, og hvad der er Hadoop InputSplit én efter én.

1. Hvad er en blok i HDFS?

Hadoop HDFS opdele store filer i små bidder kendt som blokke. Den indeholder et minimum af data, der kan læses eller skrives. HDFS gemmer hver fil som blokke.

Hadoop-applikationen distribuerer datablokken på tværs af flere noder. HDFS-klienten har ikke nogen kontrol på blokken som blokplacering, Namenode bestemmer alle sådanne ting.

2. Hvad er InputSplit i Hadoop?

Det repræsenterer de data, som den enkelte kortlægger processer. Således er antallet af kortopgaver lig med antallet af InputSplits. Framework opdeler opdelt i poster, som kortlægger processer.

Indledningsvist lagrer inputfiler dataene til MapReduce-jobbet. Input en fil ligger typisk i HDFS InputFormat beskriver, hvordan man opdeler og læser inputfiler. InputFormat er ansvarlig for at skabe InputSplit.

Sammenligning mellem InputSplit vs Blokke i Hadoop

Lad os nu diskutere den funktionelle forskel mellem InputSplit vs Blocks i Hadoop Framework.

1. Datarepræsentation

  • Bloker –  HDFS Block er den fysiske repræsentation af data i Hadoop.
  • InputSplit –  MapReduce InputSplit er den logiske repræsentation af data, der findes i blokken i Hadoop. Det bruges grundlæggende under databehandling i MapReduce-programmet eller andre behandlingsteknikker. Det vigtigste at fokusere på er, at InputSplit ikke indeholder faktiske data; det er kun en reference til dataene.

2. Størrelse

  • Bloker –  Som standard er HDFS-blokstørrelsen 128 MB som du kan ændre efter dit behov. Alle HDFS-blokke har samme størrelse undtagen den sidste blok, som enten kan have samme størrelse eller mindre. Hadoop framework deler filer op i 128 MB blokke og gemmer derefter i Hadoop filsystemet.
  • InputSplit –  InputSplit-størrelse er som standard omtrent lig med blokstørrelse. Det er brugerdefineret. I MapReduce-programmet kan brugeren styre opdelt størrelse baseret på størrelsen af ​​data.

3. Eksempel på Block og InputSplit i Hadoop

Antag, at vi skal gemme filen i HDFS. Hadoop HDFS gemmer filer som blokke. Blok er den mindste enhed af data, der kan gemmes eller hentes fra disken.

Standardstørrelsen på blokken er 128 MB. Hadoop HDFS opdeler filer i blokke. Derefter gemmer den disse blokke på forskellige noder i klyngen.

For eksempel har vi en fil på 132 MB. Så HDFS vil opdele denne fil i 2 blokke.

Nu, hvis vi ønsker at udføre en MapReduce-operation på blokkene, behandles den ikke. Årsagen er, at 2 blok er ufuldstændig. Så InpuSplit løser dette problem.

MapReduce InputSplit vil danne en logisk gruppering af blokke som en enkelt blok. Som InputSplit inkludere en placering for den næste blok og byte offset af de nødvendige data for at fuldføre blokken.

Konklusion

Derfor er InputSplit kun en logisk del af data, dvs. den har kun informationen om blokkens adresse eller placering. Mens Block er den fysiske repræsentation af data.

Nu er jeg sikker på, at du har en klarere forståelse af InputSplit- og HDFS-datablokke efter at have læst denne blog. Hvis du finder nogen anden forskel mellem InputSplit vs Blocks, så lad os det vide i kommentarfeltet.


  1. Gå gennem alle Mongo-samlinger og udfør forespørgslen

  2. Microservices Architecture til meget hyppig dataadgang; i hukommelsesløsninger?

  3. Forbindelse af en Redis container med en anden container (Docker)

  4. Jedis, kan ikke få jedis-forbindelse:kan ikke hente ressource fra pool