Overzicht van Azure HDInsight 4.0

Azure HDInsight is een van de populairste services onder zakelijke klanten voor Apache Hadoop en Apache Spark. HDInsight 4.0 is een clouddistributie van Apache Hadoop-onderdelen. Dit artikel bevat informatie over de meest recente Azure HDInsight-release en over hoe u moet upgraden.

Wat is er nieuw in HDInsight 4.0?

Apache Hive 3.0 en analytische verwerking met lage latentie

Apache Hive: analytische verwerking met lage latentie (LLAP) maakt gebruik van permanente queryservers en in-memory caching. Dit proces levert snelle SQL-queryresultaten op gegevens in externe cloudopslag. Hive LLAP maakt gebruik van een set permanente daemons waarmee fragmenten van Hive-query's worden uitgevoerd. Query's uitvoeren in LLAP is vergelijkbaar met Hive zonder LLAP, maar werkroltaken worden in LLAP-daemons uitgevoerd in plaats van in containers.

Voordelen van LLAP in Hive zijn:

  • De mogelijkheid om diepgaande SQL-analyses uit te voeren zonder dat dit ten koste gaat van de prestaties en het aanpassingsvermogen. Zoals complexe joins, subquery's, vensterfuncties, sortering, door de gebruiker gedefinieerde functies en complexe aggregaties.

  • Interactieve query's op gegevens in dezelfde opslag waar de gegevens worden voorbereid, zodat u voor analytische verwerking geen gegevens hoeft te verplaatsen van een opslag naar een andere engine.

  • Queryresultaten in cache opslaan, kunnen eerder berekende queryresultaten opnieuw worden gebruikt. Deze cache bespaart tijd en resources die worden besteed aan het uitvoeren van de clustertaken die nodig zijn voor de query.

Dynamisch gerealiseerde weergaven in Hive

Hive biedt nu ondersteuning voor dynamische gerealiseerde weergaven of voorberekening van relevante samenvattingen. De weergaven versnellen de verwerking van query's in datawarehouses. Gerealiseerde weergaven worden in Hive op het systeem bewaard en gebruiken naadloos LLAP-versnelling.

Transactionele Hive-tabellen

HDI 4.0 bevat Apache Hive 3. Hive 3 vereist atomiciteit, consistentie, isolatie en duurzaamheid voor transactionele tabellen die zich in het Hive-magazijn bevinden. ACID-compatibele tabellen en tabelgegevens worden via Hive geopend en beheerd. Gegevens in CRUD-tabellen maken, ophalen, bijwerken en verwijderen moeten de bestandsindeling Geoptimaliseerde rijkolommen (ORC) hebben. Alleen-invoegen tabellen ondersteunen alle bestandsindelingen.

Notitie

ACID/transactionele ondersteuning werkt alleen voor beheerde tabellen en niet voor externe tabellen. Externe Hive-tabellen zijn zo ontworpen dat externe partijen tabelgegevens kunnen lezen en schrijven, zonder dat Hive wijzigingen in de onderliggende gegevens doorvoert. Voor ACID-tabellen kan Hive de onderliggende gegevens wijzigen met compressies en transacties.

Enkele voordelen van ACID-tabellen zijn

  • ACID v2 heeft prestatieverbeteringen in zowel het opslagformaat als de engine voor uitvoerbewerkingen.

  • ACID is standaard ingeschakeld voor ondersteuning voor alle gegevensupdates.

  • Met verbeterde ACID-mogelijkheden kunt u op rijniveau bijwerken en verwijderen.

  • Er is geen prestatieoverhead.

  • Er is geen bucketing vereist.

  • Spark kan naar ACID-tabellen in Hive lezen en schrijven via Hive Warehouse Connector.

Apache Spark

Apache Spark ontvang bij te werken tabellen en ACID-transacties via de Hive Warehouse Connector. Met Hive Warehouse Connector registreert u transactionele Hive-tabellen als externe tabellen in Spark voor volledige transactionele functionaliteit. Eerdere versies ondersteunden alleen manipulatie van partitietabellen. Hive Warehouse Connector ondersteunt ook streaming dataframes. Dit proces streamt lees- en schrijfbewerkingen naar transactionele en streaming Hive-tabellen van Spark.

Spark-executors maken rechtstreeks verbinding met LLAP-daemons van Hive om gegevens op een transactionele manier op te halen en bij te werken, waardoor Hive de controle houdt over de gegevens.

Apache Spark in HDInsight 4.0 ondersteunt de volgende scenario's:

  • Training voor machine learning-modellen uitvoeren voor hetzelfde transactionele tabel dat wordt gebruikt voor rapportage.
  • Een Spark-streamingtaak uitvoeren in de wijzigingsfeed van een streaming Hive-tabel.
  • ORC-bestanden rechtstreeks vanuit een Spark Structured Streaming-taak maken.

U hoeft zich niet langer zorgen te maken dat u per ongeluk rechtstreeks vanuit Spark toegang probeert te krijgen tot transactionele hive-tabellen. Dit resulteert in inconsistente resultaten, dubbele gegevens of beschadigde gegevens. In HDInsight 4.0 worden Spark-tabellen en Hive-tabellen bewaard in afzonderlijke metastores. Gebruik de Hive Data Warehouse Connector om transactionele Hive-tabellen expliciet te registreren als externe Spark-tabellen.

Apache Oozie

Apache Oozie 4.3.1 is opgenomen in HDI 4.0 met de volgende wijzigingen:

  • Oozie voert Hive-acties niet langer uit. De Hive CLI is verwijderd en vervangen door BeeLine.

  • U sluit ongewenste afhankelijkheden uit van ShareLib door een uitsluitpatroon op te nemen in het bestand job.properties.

Upgraden naar HDInsight 4.0

Test uw onderdelen grondig voordat u de nieuwste versie implementeert in een productieomgeving. HDInsight 4.0 is beschikbaar om het upgradeproces te starten. HDInsight 3.6 is de standaardoptie om onbedoelde ongelukken te voorkomen.

Er is geen ondersteund upgradepad van eerdere versies van HDInsight naar HDInsight 4.0. Omdat metastore- en blobgegevensindelingen zijn gewijzigd, is 4.0 niet compatibel met eerdere versies. Het is belangrijk dat u uw nieuwe HDInsight 4.0-omgeving gescheiden houdt van uw huidige productieomgeving. Als u HDInsight 4.0 implementeert in uw huidige omgeving, wordt uw Metastore permanent bijgewerkt.

Beperkingen

  • HDInsight 4.0 biedt geen ondersteuning voor Apache Storm.
  • HDInsight 4.0 biedt geen ondersteuning voor het clustertype ML Services.
  • Shell-interpreter in Apache Zeppelin wordt niet ondersteund in Spark- en Interactive Query-clusters.
  • Apache Pig wordt standaard uitgevoerd op Tez. U kunt dit echter wijzigen in MapReduce.
  • Spark SQL Ranger-integratie voor rij- en kolombeveiliging is afgeschaft.

Volgende stappen