[PYTHON] Sie werden in 100 Tagen Ingenieur - Tag 86 - Datenbank - Über Hadoop

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 66 - Programmierung - Über die Verarbeitung natürlicher Sprache

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.

Über Big Data

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 Übersicht

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.

Hintergrund des Auftretens von Hadoop

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.

スクリーンショット 2020-06-14 15.29.07.png

Wie Hadoop funktioniert

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 DataNodes. 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.

image.png

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.

image.png

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.

Eigenschaften von Hadoop

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.

Welche Art von Unternehmen wird eingeführt?

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

Zusammenfassung

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

Informationen zum Autor

HP von Otsu py: http://www.otupy.net/

Youtube: https://www.youtube.com/channel/UCaT7xpeq8n1G_HcJKKSOXMw

Twitter: https://twitter.com/otupython

Recommended Posts

Sie werden in 100 Tagen Ingenieur - Tag 86 - Datenbank - Über Hadoop
In 100 Tagen sind Sie Ingenieur. ――Tag 71 ――Programmieren ――Über das Schaben 2
In 100 Tagen sind Sie Ingenieur. ――Tag 61 ――Programmieren ――Über Erkundung
In 100 Tagen sind Sie Ingenieur. ――Tag 74 ――Programmieren ――Über das Schaben 5
In 100 Tagen sind Sie Ingenieur. ――Tag 73 ――Programmieren ――Über das Schaben 4
In 100 Tagen sind Sie Ingenieur. ――Tag 75 ――Programmieren ――Über das Schaben 6
In 100 Tagen sind Sie Ingenieur. ――Tag 68 ――Programmieren ――Über TF-IDF
In 100 Tagen sind Sie Ingenieur. ――Tag 70 ――Programmieren ――Über das Schaben
In 100 Tagen sind Sie Ingenieur. ――Tag 81 ――Programmieren ――Über maschinelles Lernen 6
In 100 Tagen sind Sie Ingenieur. ――Tag 82 ――Programmieren ――Über maschinelles Lernen 7
In 100 Tagen sind Sie Ingenieur. ――Tag 79 ――Programmieren ――Über maschinelles Lernen 4
In 100 Tagen sind Sie Ingenieur. ――Tag 76 ――Programmieren ――Über maschinelles Lernen
In 100 Tagen sind Sie Ingenieur. ――Tag 80 ――Programmieren ――Über maschinelles Lernen 5
In 100 Tagen sind Sie Ingenieur. ――Tag 78 ――Programmieren ――Über maschinelles Lernen 3
Sie werden in 100 Tagen Ingenieur. ――Tag 84 ――Programmieren ――Über maschinelles Lernen 9
In 100 Tagen sind Sie Ingenieur. ――Tag 83 ――Programmieren ――Über maschinelles Lernen 8
In 100 Tagen sind Sie Ingenieur. ――Tag 77 ――Programmieren ――Über maschinelles Lernen 2
In 100 Tagen sind Sie Ingenieur. ――Tag 85 ――Programmieren ――Über maschinelles Lernen 10
Sie werden in 100 Tagen Ingenieur - Tag 63 - Programmierung - Wahrscheinlichkeit 1
Sie werden in 100 Tagen Ingenieur - 27. Tag - Python - Python-Übung 1
Sie werden in 100 Tagen Ingenieur. ――Tag 65 ――Programmieren ――Über Wahrscheinlichkeit 3
Sie werden in 100 Tagen Ingenieur. ――Tag 64 ――Programmieren ――Über Wahrscheinlichkeit 2
Sie werden in 100 Tagen Ingenieur - Tag 34 - Python - Python-Übung 3
Sie werden in 100 Tagen Ingenieur - 31. Tag - Python - Python-Übung 2
Sie werden in 100 Tagen Ingenieur. ――Tag 24 ―― Python ―― Grundlagen der Python-Sprache 1
Sie werden in 100 Tagen Ingenieur. ――Tag 30 ―― Python ―― Grundlagen der Python-Sprache 6
Sie werden in 100 Tagen Ingenieur. ――Tag 25 ―― Python ―― Grundlagen der Python-Sprache 2
In 100 Tagen sind Sie Ingenieur. ――Tag 60 ――Programmieren ――Über Datenstruktur und Sortieralgorithmus
Sie werden in 100 Tagen Ingenieur - 29. Tag - Python - Grundlagen der Python-Sprache 5
Sie werden in 100 Tagen Ingenieur - Tag 33 - Python - Grundlagen der Python-Sprache 8
Sie werden in 100 Tagen Ingenieur - 26. Tag - Python - Grundlagen der Python-Sprache 3
Sie werden in 100 Tagen Ingenieur - Tag 35 - Python - Was Sie mit Python tun können
Sie werden in 100 Tagen Ingenieur - Tag 32 - Python - Grundlagen der Python-Sprache 7
Sie werden in 100 Tagen Ingenieur - 28. Tag - Python - Grundlagen der Python-Sprache 4
Sie werden in 100 Tagen Ingenieur. ――Tag 67 ――Programmieren ――Über morphologische Analyse
Sie werden in 100 Tagen Ingenieur. ――Tag 66 ――Programmieren ――Über die Verarbeitung natürlicher Sprache
Sie müssen vorsichtig mit den Befehlen sein, die Sie jeden Tag in der Produktionsumgebung verwenden.