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