Klicken Sie hier bis gestern
Sie werden in 100 Tagen Ingenieur - Tag 76 - Programmierung - Über maschinelles Lernen
Sie werden Ingenieur in 100 Tagen - Tag 70 - Programmieren - Über Scraping
Sie werden in 100 Tagen Ingenieur - Tag 63 - Programmierung - Über Wahrscheinlichkeit 1
Sie werden in 100 Tagen Ingenieur - Tag 59 - Programmierung - Über Algorithmen
Sie werden in 100 Tagen Ingenieur --- Tag 53 - Git - Über Git
Sie werden in 100 Tagen Ingenieur - Tag 42 - Cloud - Über Cloud-Dienste
Sie werden in 100 Tagen Ingenieur - Tag 36 - Datenbank - Über die Datenbank
Sie werden Ingenieur in 100-Tage-24-Python-Grundlagen der Python-Sprache 1
Sie werden in 100 Tagen Ingenieur - Tag 18 - JavaScript - Grundlagen von JavaScript 1
Sie werden in 100 Tagen Ingenieur - 14. Tag - CSS - CSS-Grundlagen 1
Sie werden in 100 Tagen Ingenieur - Tag 6 - HTML - HTML-Grundlagen 1
Dieses Mal werde ich weiter über Datenbanken und über Hadoop sprechen.
Wie für die Geschichte über die Datenbank Sie werden in 100 Tagen Ingenieur - Tag 36 - Datenbank - Über die Datenbank Aber ich mache es als eine Geschichte über Daten Erstens gibt es das Wort "Big Data".
Die Definition von "Big Data" ist ziemlich vage, und wenn es ein wenig groß ist, ist es wie "Big Data". Es scheint einige Medien zu geben, die sagen Per Definition im Jahr 2012 Daten im Bereich von "zehn Terabyte bis zu mehreren Petabyte" Es scheint sich um "Big Data" zu handeln.
Daten von ungefähr 1 TB werden nicht als "Big Data" bezeichnet. Eine Maschine reicht dafür aus.
In den letzten Jahren sind die Daten selbst aufgebläht und überschreiten die Menge, die von einer Maschine verarbeitet werden kann. "Big Data" existiert.
In diesem Fall reicht eine auf dem Computer installierte Datenbank nicht aus Sie benötigen eine Reihe von Maschinen.
Um ein solches Problem zu lösen, kamen wir auf die Idee, große Datenmengen zu verarbeiten. Die Platform.
Hadoop
speichert Daten wie Text, Bilder und Protokolle
Eine Open Source "Distributed Processing Platform", die mit hoher Geschwindigkeit verarbeitet.
Hadoop
zeichnet sich durch verteilte Verarbeitung auf mehreren Maschinen aus.
Durch die Verteilung der Daten auf mehrere Computer
Sie können leicht skalieren.
Durch die gleichzeitige Verarbeitung umfangreicher Daten auf mehreren Computern Es realisiert auch hohe Geschwindigkeit.
Hadoop
wurde ursprünglich als Artikel von Google veröffentlicht.
Es ist eine Open-Source-Implementierung der internen Technologie von Google.
Umgang mit der großen Datenmenge von Google
Es basiert auf dem Papier des technischen Systems.
Google File System (GFS)
: Das verteilte Dateisystem von Google
Google MapReduce
: Verteilte Verarbeitungstechnologie bei Google
Hadoop
selbst ist Java-basiert
Es befindet sich noch in der Entwicklung und sein Markenzeichen ist Elefant.
Hadoop besteht hauptsächlich aus den folgenden zwei Elementen.
HDFS
: Hadoop verteiltes Dateisystem
Hadoop MapReduce
: Ein verteiltes Verarbeitungsframework
** HDFS (Hadoop Distributed File System) **
HDFS besteht aus zwei Knoten, einem Master und einem Slave.
Masterknoten: NameNode
Auf Slave-Knoten: DataNode
NameNode
verwaltet die Metainformationen des Dateisystems
DataNode
speichert die tatsächlichen Daten.
Daten (Blöcke) werden beim Speichern von Dateien in feste Größen unterteilt Speichern Sie als "DataNode".
Und damit ein "DataNode" ausfällt und keine Daten verloren gehen
Speichern Sie eine Replik des Blocks in mehreren DataNode
s.
Dies ist ein Mechanismus, um Datenverlust zu verhindern.
Standardmäßig beträgt die Anzahl der Replikate 3, auch wenn zwei Server ausfallen Die Daten gehen nicht verloren.
Referenz: Was ist die NTT-Daten- / verteilte Verarbeitungstechnologie "Hadoop"? https://oss.nttdata.com/hadoop/hadoop.html
Wenn es sich bei NameNode
um einen einzelnen Knoten handelt, kann er nicht verwendet werden, wenn er fehlschlägt.
Die Redundanz kann durch Einstellen der Active-Standby-Konfiguration erreicht werden.
Durch Erhöhen der Anzahl der Server können Sie auch die gespeicherte Datenmenge erhöhen.
** Hadoop Map Reduce (Distributed Processing Framework) **
Eine weitere Komponente ist "MapReduce". Dies ist ein Mechanismus zum Teilen und parallelen Verarbeiten von Daten, um schneller Ergebnisse zu erzielen.
MapReduce besteht aus zwei Knoten, einem Master und einem Slave.
Masterknoten: JobTracker
Auf Slave-Knoten: TaskTracker
JobTracker
verwaltet MapReduce-Jobs und geht zu TaskTracker
Aufgaben zuweisen und Ressourcen verwalten.
TaskTracker
führt die Aufgabe aus.
Selbst wenn "TaskTracker" fehlschlägt, wird "JobTracker" dies tun Weisen Sie die gleiche Aufgabe anderen TaskTrackern zu Sie können weiterlaufen, ohne von vorne beginnen zu müssen.
Referenz: Was ist die NTT-Daten- / verteilte Verarbeitungstechnologie "Hadoop"? https://oss.nttdata.com/hadoop/hadoop.html
Die MapReduce-Anwendung
führt die folgende Verarbeitung durch.
Jobdefinition
: Definieren Sie Informationen für die Verarbeitung der Karte und reduzieren Sie diese
Kartenverarbeitung
: Bedeutet Daten im Schlüsselwertformat für Eingabedaten
Verarbeitung reduzieren
: Führt die Verarbeitung der Daten durch, die für jeden Schlüssel der Kartenverarbeitung aggregiert wurden
Wenn der MapReduce-Prozess abgeschlossen ist, wird das Endergebnis ausgegeben. Wenn die Anzahl der Server, die die Verarbeitung durchführen, zunimmt, wird die Verarbeitung mit höherer Geschwindigkeit abgeschlossen. Es ist vorteilhaft, wenn die Anzahl der Einheiten, die berechnet werden können, groß ist.
Ich denke, die folgenden drei Punkte sind die Hauptmerkmale von Hadoop.
** Serverskalierbarkeit ** Wenn Ihnen mit HDFS die Ressourcen ausgehen, können Sie die Anzahl der Server erhöhen. Sie können Datenkapazität und Rechenressourcen sichern.
** Fehlertoleranz **
Wenn Sie die Software auf einem handelsüblichen Server installieren Da Sie eine Hadoop-Umgebung erstellen können, benötigen Sie keine dedizierte Hardware. Darüber hinaus durch den Mechanismus wie HDFS und TaskTracker Das System funktioniert auch dann, wenn bis zu mehrere Einheiten ausfallen.
** Verarbeitungsflexibilität **
Der Unterschied zu herkömmlichen Datenbanken besteht beim Speichern von Daten in HDFS. Dies bedeutet, dass keine Schemadefinition erforderlich ist.
Weil Sie beim Abrufen von Daten nur eine Bedeutung angeben müssen Man kann sagen, dass die Daten vorerst gespeichert sind.
Ich habe Hadoop 2012 kennengelernt. Zu dieser Zeit gab es fast keine Unternehmen, die es auf Seminaren usw. annahmen. Wir hatten es eingeführt, also denke ich, dass es eine ziemlich seltene Person war.
Für die Anzahl der Einheiten gibt es 3 Hauptnamenknoten Ich denke, es gab 20 Datenknoten.
Die Datenmenge beträgt ungefähr 5 Milliarden Zeilen Protokolldaten mit ungefähr 100 Spalten pro Zeile und Monat.
Bei Daten dieser Größenordnung waren es mehrere TB. Es passt nicht in eine Einheit und zum Zeitpunkt der Aggregation ist nicht genügend Speicher vorhanden.
Der MAX der Arbeit, die ich auf meinem PC geleistet habe Es sind ungefähr 200 GB Dateien. Als Richtlinie, wenn die Daten mehrere TB überschreiten Ist es wie über verteilte Verarbeitung nachzudenken?
Der Ort, an dem so viele Daten verarbeitet werden Ich denke, Sie nutzen die Grundlage der verteilten Verarbeitung.
Es hat jedoch eine große Datenmenge und kann nur "Hadoop" beherrschen. Es lohnt sich, wenn Sie über personelle und finanzielle Ressourcen verfügen Das kann nur ein kleiner Teil sein.
Es sei denn, Sie sind ein Unternehmen, das über Geld und Daten verfügt Es ist schwer einzuführen und macht keinen Sinn.
Als ich zu dem Ort ging, an dem ich es vor langer Zeit angekündigt hatte
Yahoo
Cyber Agent
NTT-Daten
Hitachi Solutions
Recruit Technologies
Nur große Unternehmen Wenn Sie verteilte Verarbeitungstechnologie wie Hadoop erwerben möchten Ich muss hier in einer Firma arbeiten Möglicherweise können Sie es nicht lernen.
Übrigens benutze ich jetzt nicht mal 1mm www
Verteilte Verarbeitung ist heute im Umgang mit Big Data üblich Es ist unverzichtbar.
Als Schlüsselakteur bei der Verbreitung der verteilten Verarbeitung in der Öffentlichkeit Ich denke, die Existenz von Hadoop ist ziemlich groß. Lassen Sie es uns als Wissen unterdrücken.
14 Tage bis Sie Ingenieur werden
HP von Otsu py: http://www.otupy.net/
Youtube: https://www.youtube.com/channel/UCaT7xpeq8n1G_HcJKKSOXMw
Twitter: https://twitter.com/otupython
Recommended Posts