Übersicht über Azure HDInsight 4.0

Azure HDInsight ist unter Unternehmenskunden einer der beliebtesten Dienste für Apache Hadoop und Apache Spark. HDInsight 4.0 ist eine Clouddistribution von Apache Hadoop-Komponenten. Dieser Artikel enthält Informationen zur neuesten Release von Azure HDInsight und zur Aktualisierung.

Neuigkeiten in HDInsight 4.0

Apache Hive 3.0 und Low-Latency Analytical Processing (LLAP)

Apache Hive LLAP (Low-Latency Analytical Processing – Analyseverarbeitung mit geringer Latenz) verwendet beständige Abfrageserver und speicherinternes Zwischenspeichern. Dieser Prozess liefert schnelle SQL-Abfrageergebnisse für Daten im Remotecloudspeicher. Hive LLAP nutzt eine Reihe von beständigen Daemons, die Fragmente von Hive-Abfragen ausführen. Die Abfrageausführung unter LLAP ähnelt Hive ohne LLAP, wobei Workeraufgaben in LLAP-Daemons ausgeführt werden und nicht in Containern.

Hive LLAP bietet u.a. folgende Vorteile:

  • Möglichkeit zum Durchführen umfassender SQL-Analysen ohne Einbußen bei der Leistung und Flexibilität. Dazu zählen beispielsweise komplexe Verknüpfungen, Unterabfragen, Windowingfunktionen, Sortierung, benutzerdefinierte Funktionen und komplexe Aggregationen.

  • Interaktive Abfragen von Daten im gleichen Speicher, in dem Daten vorbereitet werden, ohne Notwendigkeit der Verschiebung von Daten aus dem Speicher zu einem anderen Modul für die analytische Verarbeitung.

  • Durch das Zwischenspeichern der Abfrageergebnisse können zuvor berechnete Abfrageergebnisse wiederverwendet werden. Dies spart Zeit und Ressourcen bei der Ausführung der erforderlichen Clusteraufgaben für die Abfrage.

Dynamisch materialisierte Sichten in Hive

Hive unterstützt jetzt dynamisch materialisierte Sichten bzw. die Vorberechnung relevanter Zusammenfassungen. Diese Sichten beschleunigen die Abfrageverarbeitung in Data Warehouses. Materialisierte Sichten können nativ in Hive gespeichert werden und können nahtlos auf LLAP Beschleunigung zugreifen.

Transaktionale Hive-Tabellen

HDI 4.0 enthält Apache Hive 3. Hive 3 erfordert ACID-Konformität (Atomicity, Consistency, Isolation, Durability – Unteilbarkeit, Konsistenz, Isolation, Dauerhaftigkeit) für Transaktionstabellen, die im Hive-Warehouse gespeichert sind. ACID-konforme Tabellen und Tabellendaten werden von Hive abgerufen und verwaltet. Daten in CRUD-Tabellen (Create, Retrieve, Update, Delete – Erstellen, Abrufen, Aktualisieren, Löschen) müssen das ORC-Dateiformat (Optimized Row Column) aufweisen. Tabellen, in denen nur Einfügungen erfolgen, unterstützen jedoch alle Dateiformate.

Hinweis

Die Unterstützung für ACID/Transaktionen funktioniert nur für verwaltete Tabellen und nicht für externe Tabellen. Externe Hive-Tabellen sind so konzipiert, dass externe Parteien Tabellendaten lesen und schreiben können, ohne dass Hive Änderungen an den zugrunde liegenden Daten durchführt. Bei ACID-Tabellen ändert Hive eventuell die zugrunde liegenden Daten durch Komprimierungen und Transaktionen.

Einige Vorteile von ACID-Tabellen sind:

  • ACID v2 weist Leistungsverbesserungen beim Speicherformat und der Ausführungsengine auf.

  • ACID ist standardmäßig aktiviert, um vollständige Unterstützung für Datenaktualisierungen zu ermöglichen.

  • Durch verbesserte ACID-Funktionen können Sie auf Zeilenebene aktualisieren und löschen.

  • Kein zusätzlicher Leistungsaufwand.

  • Kein Bucketing erforderlich.

  • Spark kann Hive-ACID-Tabellen mithilfe des Hive-Warehouse-Connectors lesen und schreiben.

Apache Spark

Apache Spark ruft aktualisierbare Tabellen und ACID-Transaktionen mit dem Hive-Warehouse-Connector ab. Über den Hive-Warehouse-Connector können Sie Hive-Transaktionstabellen als externe Tabellen in Spark registrieren, um auf alle transaktionalen Funktionen zugreifen zu können. In früheren Versionen wurde nur die Bearbeitung von Tabellenpartitionen unterstützt. Hive Warehouse Connector unterstützt auch Streaming DataFrames. Dieser Prozess streamt Lese- und Schreibvorgänge in Hive- Transaktions- und Streamingtabellen aus Spark.

Spark-Executors können direkte Verbindungen mit Hive LLAP-Daemons herstellen, um Daten auf transaktionale Weise abzurufen und zu aktualisieren, sodass Hive die Kontrolle über die Daten behält.

Apache Spark unter HDInsight 4.0 unterstützt die folgenden Szenarien:

  • Ausführen des Trainings von Modellen zum maschinellen Lernen über dieselbe Transaktionstabelle wie für die Berichterstellung
  • Ausführen eines Spark-Streamingauftrags im Änderungsfeed von einer Hive-Streamingtabelle
  • Erstellen von ORC-Dateien direkt aus einem strukturierten Spark-Streaming-Auftrag

Sie müssen sich keine Sorgen mehr darum machen, versehentlich direkt aus Spark auf Hive-Transaktionstabellen zuzugreifen und dadurch inkonsistente Ergebnisse, doppelte Daten oder Datenbeschädigungen zu verursachen. In HDInsight 4.0 werden Spark- und Hive-Tabellen in separaten Metastores beibehalten. Verwenden Sie den Hive-Data Warehouse-Connector, um Hive-Transaktionstabellen explizit als externe Spark-Tabellen zu registrieren.

Apache Oozie

Apache Oozie 4.3.1 ist in HDI 4.0 mit den folgenden Änderungen enthalten:

  • Oozie führt keine Hive-Aktionen mehr aus. Die Hive-Befehlszeilenschnittstelle wurde entfernt und durch BeeLine ersetzt.

  • Sie können unerwünschte Abhängigkeiten von freigegebenen Bibliotheken ausschließen, indem Sie in Ihre Datei job.properties ein Ausschlussmuster aufnehmen.

Ausführen eines Upgrades auf HDInsight 4.0

Testen Sie Ihre Komponenten gründlich, bevor Sie die aktuelle Version in einer Produktionsumgebung implementieren. HDInsight 4.0 steht für den Upgradeprozess zur Verfügung. Um Pannen zu verhindern, ist die Standardoption jedoch HDInsight 3.6.

Es gibt keinen unterstützten Upgradepfad von früheren Versionen von HDInsight auf HDInsight 4.0. Da sich der Metastore und die Blobdatenformate geändert haben, ist Version 4.0 nicht mit früheren Versionen kompatibel. Es ist wichtig, die neue HDInsight 4.0-Umgebung von der aktuellen Produktionsumgebung getrennt zu halten. Wenn Sie HDInsight 4.0 in Ihrer aktuellen Umgebung bereitstellen, wird Ihr Metastore permanent aktualisiert.

Einschränkungen

  • HDInsight 4.0 unterstützt Apache Storm nicht.
  • HDInsight 4.0 unterstützt den Clustertyp „ML-Dienste" nicht.
  • Shellinterpreter in Apache Zeppelin wird in Spark- und Interactive Query-Clustern nicht unterstützt.
  • Apache Pig läuft standardmäßig auf Tez. Sie können dies jedoch in MapReduce ändern.
  • Die Spark SQL Ranger-Integration für Zeilen- und Spaltensicherheit ist veraltet.

Nächste Schritte