2016-04-14 2 views

Antwort

0

Es funktioniert so nicht. Eine Datei in HDFS wird nicht in einem bestimmten Datenknoten gespeichert. Jede Datei besteht aus Blöcken und jeder Block wird auf mehrere Knoten repliziert (standardmäßig 3). Daher wird jede Datei tatsächlich in verschiedenen Knoten gespeichert, da die Blöcke, aus denen sie besteht, in verschiedenen Knoten gespeichert sind.

Zitiert die official documentation, die ich Ihnen raten, zu lesen:

HDFS stellt eine Dateisystem-Namespace und ermöglicht Benutzerdaten in Dateien gespeichert werden. Intern wird eine Datei in einen oder mehrere Blöcke aufgeteilt und diese Blöcke werden in einer Gruppe von DataNodes gespeichert. Der NameNode führt Dateisystem-Namespace-Operationen wie das Öffnen, Schließen und Umbenennen von Dateien und Verzeichnissen aus. Es bestimmt auch das Mapping von Blöcken zu DataNodes. Die DataNodes sind verantwortlich für das Ausliefern von Lese- und Schreibanforderungen von den Clients des Dateisystems. Die DataNodes führen auch Blockerstellung, Löschung und Replikation nach Anweisung aus dem NameNode durch.

die Partition-Tag in Ihrer Frage sehen, kann es besagt wert sein, dass die Partitionierungsprogramm, in dem Partition (nicht DataNode) definiert, jede Taste am Ende wird. Wenn Sie zum Beispiel wissen, dass Sie 9 Aufgaben reduzieren (9 Partitionen), möchten Sie vielleicht die Arbeitslast jeder dieser Aufgaben gleichmäßig aufteilen. Dazu können Sie festlegen, dass zB die mit dem Buchstaben "s" beginnenden Schlüssel an die Partition 0 und die mit dem Buchstaben "a" oder "b" beginnenden Schlüssel an die Partition 1 usw. gesendet werden sollen (nur ein dummes Beispiel, um zu veranschaulichen, was ein Partitionierer tut).

Verwandte Themen