The Doppler Quarterly (DEUTSCHE) Herbst 2017 | Page 30
• Die Daten müssen partitioniert werden, um
Tabellenscans zu vermeiden.
sind. Wenn eine detailliertere Kontrolle erforderlich
ist, bietet Apache Ranger eine differenzierte
Zugriffskontrolle.
Zentralisiertes Sicherheits- und Audit-Frame-
work mit Apache Ranger
Apache Ranger bietet ein zentralisiertes Sicherheits-
framework für eine differenzierte Zugriffskontrolle
über Hadoop, Hive und andere zugehörige Kompo-
nenten wie HBase. Über die Apache Ranger-Verwal-
tungskonsole können Benutzer auf einfache Weise
Richtlinien verwalten, die den Zugriff auf Hive-Da-
tenbanken, -Tabellen oder -Spalten für eine
bestimmte Gruppe von Benutzern und/oder Grup-
pen steuern. Für eine noch wirksamere Umgebungs-
steuerung ermöglicht Apache Ranger auch Audit-Tra-
cking und Richtlinienanalysen. Die Richtlinienkontrolle
von Apache Ranger besteht aus zwei wesentlichen
Teilen:
• Angabe der Ressourcen, für die die Richtlinie
gilt (z. B. Hive-Datenbank, -Tabellen, -Spalten)
• Angabe von Bedingungen, wie z. B. Benutzer/
Gruppen, Zugriffsarten und benutzerdefinierte
Bedingungen, für die der Zugriff erlaubt werden
soll.
Hive-Leistungsoptimierung
Wir haben bereits über drei wichtige Elemente einer
Apache Hive-Implementierung gesprochen, die sorg-
fältig geprüft werden müssen, um ein optimales Leis-
tungsverhalten von Apache Hive zu erhalten.
• Tez muss auf dem EMR-Cluster installiert sein
und als Hive Execution Engine verwendet
werden.
• ORC muss als zugrunde liegendes Speicher-
dateiformat verwendet werden.
In diesem Abschnitt soll auf Tez genauer eingegangen
und drei weitere leistungssteigernde Faktoren
behandelt werden, die die Abfrageleistung in Hive
signifikant verbessern können: Vectorized Query
Execution, Cost Based Optimizer und Long Live and
Process (LLAP).
Apache Hive auf Tez
In Urdu bedeutet das Wort „Tez“ schnell, umgehend
und intelligent. Apache Tez ist zum neuen Paradigma
für die Hive-Ausführung geworden, indem es eine
Abfrageleistung von weniger als einer Sekunde
ermöglichte, die in der MapReduce-Welt nicht mög-
lich war. MapReduce wird immer noch für die
Hive-Ausführung unterstützt, Tez ist aber mittler-
weile zur Standard-Engine geworden, wenn Hive-
Jobs in Hadoop ausgeführt werden. Wie bereits
erwähnt, führt Tez keine plattenspezifischen
E/A-Operationen aus, indem teure Shuffle- und
Shorts-Prozesse vermieden und effizientere Map
Side Joins genutzt werden. Bei einem typischen Aus-
führungsmuster fließen die Daten von Knoten zu
Knoten eines Ausführungsdiagramms (wie bei
Apache Spark stellt auch Tez die Berechnung als
direktes azyklisches Diagramm dar). Die zwischen-
gespeicherten Daten des Reducers werden ohne
Schreiboperationen auf die Platte an den nächsten
Reducer weitergegeben. Folglich profitiert Apache
Tez von mehr Arbeitsspeicher (Heapspeichergröße
Sicherheitsadministratoren
Richtlinien definieren
Benutzeraktivitäten überwachen
Enterprise
Directory
Services
Benutzer
synchro-
nisieren
Authentifizieren
Datenzugriff
in Hadoop-
Systemen
Unternehmens-
benutzer
Über Plug-ins
erfolgen Zugriffs-
berechtigung und
Aktivitätenprüfung
28 | THE DOPPLER | HERBST 2017
Ranger
User Sync
Server
HDFS Plug-in
Hive Plug-in
H Base Plug-in
Knox Plug-in
Storm Plug-in
Benutzer
synchro-
nisieren
Traditionelles
Unternehmens-
system
Policy Admin
Server
Richtlinien-
integration
Richtlinien-
datenbank
Richtlinien
synchronisieren
Prüfaktivitäten
speichern
Abbildung 4: Apache Ranger-Architektur
Prüfdaten-
speicher