HBase
 sql >> Datenbank >  >> NoSQL >> HBase

Unterschied zwischen InputSplit und Blöcken in Hadoop

In diesem MapReduce-Tutorial besprechen wir den Vergleich zwischen MapReduce InputSplit und Blöcken in Hadoop . Zunächst werden wir sehen, was HDFS-Datenblöcke neben Hadoop InputSplit sind.

Dann werden wir den Funktionsunterschied zwischen InputSplit und Blöcken sehen. Abschließend werden wir auch das Beispiel von Hadoop InputSplit und Datenblöcken in HDFS diskutieren.

Einführung in InputSplit und Blöcke in Hadoop

Lassen Sie uns zuerst nacheinander besprechen, was HDFS Data Blocks und was Hadoop InputSplit ist.

1. Was ist ein Block in HDFS?

Hadoop-HDFS Teilen Sie große Dateien in kleine Stücke auf, die als Blöcke bekannt sind. Es enthält eine Mindestmenge an Daten, die gelesen oder geschrieben werden können. HDFS speichert jede Datei als Blöcke.

Die Hadoop-Anwendung verteilt den Datenblock auf mehrere Knoten. Der HDFS-Client hat keine Kontrolle über den Block wie die Blockposition, der Namenode entscheidet über all diese Dinge.

2. Was ist InputSplit in Hadoop?

Es stellt die Daten dar, die der einzelne Mapper hat Prozesse. Somit ist die Anzahl der Map-Tasks gleich der Anzahl der InputSplits. Framework teilt Split in Datensätze auf, die der Mapper verarbeitet.

Anfängliche Eingabedateien speichern die Daten für den MapReduce-Job. Eine Eingabedatei befindet sich normalerweise im InputFormat von HDFS beschreibt, wie Eingabedateien aufgeteilt und gelesen werden. InputFormat ist verantwortlich für die Erstellung von InputSplit.

Vergleich zwischen InputSplit und Blöcken in Hadoop

Lassen Sie uns nun den funktionalen Unterschied zwischen InputSplit und Blöcken im Hadoop Framework diskutieren.

1. Datendarstellung

  • Blockieren –  HDFS Block ist die physische Darstellung von Daten in Hadoop.
  • InputSplit –  MapReduce InputSplit ist die logische Darstellung der im Block vorhandenen Daten in Hadoop. Es wird hauptsächlich bei der Datenverarbeitung im MapReduce-Programm oder anderen Verarbeitungstechniken verwendet. Die Hauptsache ist, dass InputSplit keine tatsächlichen Daten enthält; es ist nur ein Verweis auf die Daten.

2. Größe

  • Blockieren –  Standardmäßig beträgt die HDFS-Blockgröße 128 MB die Sie nach Ihren Wünschen ändern können. Alle HDFS-Blöcke haben dieselbe Größe, mit Ausnahme des letzten Blocks, der entweder dieselbe Größe oder kleiner sein kann. Das Hadoop-Framework zerlegt Dateien in 128-MB-Blöcke und speichert sie dann im Hadoop-Dateisystem.
  • InputSplit –  Die InputSplit-Größe entspricht standardmäßig ungefähr der Blockgröße. Es ist benutzerdefiniert. Im MapReduce-Programm kann der Benutzer die Aufteilungsgröße basierend auf der Größe der Daten steuern.

3. Beispiel für Block und InputSplit in Hadoop

Angenommen, wir müssen die Datei in HDFS speichern. Hadoop HDFS speichert Dateien als Blöcke. Block ist die kleinste Dateneinheit, die auf der Festplatte gespeichert oder abgerufen werden kann.

Die Standardgröße des Blocks beträgt 128 MB. Hadoop HDFS zerlegt Dateien in Blöcke. Dann speichert es diese Blöcke auf verschiedenen Knoten im Cluster.

Zum Beispiel haben wir eine Datei von 132 MB. HDFS wird diese Datei also in 2 Blöcke aufteilen.

Wenn wir nun eine MapReduce-Operation an den Blöcken ausführen möchten, wird diese nicht verarbeitet. Der Grund dafür ist, dass Block 2 unvollständig ist. InpuSplit löst also dieses Problem.

MapReduce InputSplit bildet eine logische Gruppierung von Blöcken als einen einzigen Block. Als InputSplit enthalten Sie eine Position für den nächsten Block und den Byte-Offset der Daten, die zum Vervollständigen des Blocks benötigt werden.

Schlussfolgerung

Daher ist InputSplit nur ein logischer Datenblock, d. H. Es enthält nur die Informationen über die Blockadresse oder den Speicherort. Während Block die physische Darstellung von Daten ist.

Ich bin mir sicher, dass Sie nach dem Lesen dieses Blogs ein klareres Verständnis von InputSplit und HDFS-Datenblöcken haben. Wenn Sie einen anderen Unterschied zwischen InputSplit und Blöcken finden, teilen Sie uns dies bitte im Kommentarbereich mit.