Video: hadoop architecture 2024
"Einfach" bedeutet oft "elegant", wenn es um solche Architekturzeichnungen geht neue Silicon Valley-Villa, die Sie geplant haben, wenn das Geld nach der Implementierung von Hadoop anfängt. Das gleiche Prinzip gilt für die Softwarearchitektur. Pig besteht aus zwei (count 'em, two) Komponenten:
-
Die Sprache selbst: Als Beweis dafür, dass Programmierer einen Sinn für Humor haben, ist die Programmiersprache für Pig bekannt als Pig Latin, ein High-Level Sprache, mit der Sie Datenverarbeitungs- und Analyseprogramme schreiben können.
-
Der Pig Latin-Compiler: Der Pig Latin-Compiler konvertiert den Pig Latin-Code in ausführbaren Code. Der ausführbare Code liegt entweder in Form von MapReduce-Jobs vor oder kann einen Prozess erzeugen, bei dem eine virtuelle Hadoop-Instanz erstellt wird, um den Pig-Code auf einem einzelnen Knoten auszuführen.
Die Sequenz von MapReduce-Programmen ermöglicht es Pig-Programmen, Daten parallel zu verarbeiten und auszuwerten und dabei Hadoop MapReduce und HDFS zu nutzen. Die Ausführung des Pig-Jobs in der virtuellen Hadoop-Instanz ist eine nützliche Strategie zum Testen Ihrer Pig-Skripts.
Die Abbildung zeigt, wie sich Pig auf das Hadoop-Ökosystem bezieht.
Pig-Programme können auf MapReduce v1 oder MapReduce v2 ohne Codeänderungen ausgeführt werden, unabhängig davon, in welchem Modus Ihr Cluster ausgeführt wird. Pig-Skripts können jedoch auch mit der Tez-API ausgeführt werden. Apache Tez bietet ein effizienteres Ausführungsframework als MapReduce. Mit YARN können andere Anwendungsframeworks als MapReduce (wie Tez) auf Hadoop ausgeführt werden. Hive kann auch gegen das Tez-Framework laufen.