6.2 Die Grundlagen von Tez

Was ist Tez eigentlich?

  • Tez ist ein Anwendungsframework, welches für Verarbeitungsanfragen von Anwendungen wie Pig oder Spark anstelle von MapReduce verwendet werden kann.
  • Eine sogenannte „DAG Engine“ (directed acyclic graph) optimiert die Arbeitsabläufe, gleiche Vorgehensweise wie bei Spark und Pig.
  • Optimiert den „Weg der Daten“ zwischen Anwendungen und HDFS und reduziert so auch den Ressourcenverbrauch im Cluster.

Wie kann ich Tez bei Hadoop einordnen?

Als Grundlage bei Hadoop-Clustern verwendet man „HDFS“, das Dateisystem von Hadoop. Hier werden alle Daten für den Cluster abgelegt und warten auf ihren Einsatz. „YARN“ liegt als Schicht auf dem HDFS, da es die Verarbeitung dieser Daten koordiniert und den Zugriff der Anwendungen auf das HDFS steuert. Die Anwendungen, wie beispielsweise Tez, liegen oberhalb von YARN, da diese Anfragen bei YARN auf Ressourcen stellen, damit die Verarbeitung durchgeführt werden kann.

Warum sollte ich Tez verwenden?

In unseren Beispielen bei Pig und Spark hast du bereits gesehen, dass Abfragen mit Tez deutlich schneller als mit MapReduce durchgeführt werden können. Und das, obwohl wir nur eine sehr kleine Menge von Daten im Cluster bearbeiten. Wenn dazu auch noch sehr große Datenblöcke abgefragt und verarbeitet werden, wirst du Unterschied zwischen MapReduce und Tez nohc deutlicher merken. Es empfiehlt sich also immer der Einsatz von Tez, sofern dies von dem Hadoop-Service angeboten wird.


Weiter geht es mit: 6.3 Die Grundlagen von Zookeeper