Partager via


Vue d’ensemble d’Azure HDInsight 4.0

Azure HDInsight est l'un des services les plus populaires parmi les clients d'entreprise pour Apache Hadoop et Apache Spark. HDInsight 4.0 est une distribution cloud des composants Apache Hadoop. Cet article fournit des informations sur les dernières versions d’Azure HDInsight et sur la mise à niveau.

Nouveautés de HDInsight 4.0

Apache Hive 3.0 et traitement analytique à faible latence

Le traitement Apache Hive LLAP (Low-Latency Analytical Processing) utilise des serveurs de requêtes persistants et la mise en cache en mémoire. Ce processus permet d'obtenir rapidement des résultats SQL sur les données d’un stockage cloud distant. Hive LLAP utilise un ensemble persistant de démons qui exécutent des fragments de requêtes Hive. L’exécution de requêtes sur LLAP est le même que pour Hive sans LLAP, sauf que les tâches de travail s’exécutent dans des démons LLAP au lieu de conteneurs.

Voici certains avantages de Hive LLAP :

  • Capacité à effectuer des analyses SQL approfondies sans sacrifier les performances et l'adaptabilité. Par exemple les jointures complexes, les sous-requêtes, les fonctions de fenêtrage, le tri, les fonctions définies par l'utilisateur et les agrégations complexes.

  • Requêtes interactives sur les données du même stockage que celui où sont préparées les données, vous n’avez donc pas besoin de déplacer les données du stockage vers un autre moteur de traitement analytique.

  • La mise en cache des résultats des requêtes permet de réutiliser les résultats des requêtes déjà calculées. Ce cache permet d'économiser le temps et les ressources consacrés à l'exécution des tâches de cluster requises pour la requête.

Vues matérialisées dynamiques Hive

Hive prend désormais en charge les vues matérialisées dynamiques, ou le précalcul des totaux pertinents. Les vues accélèrent le traitement des requêtes dans les entrepôts de données. Les vues matérialisées peuvent être stockées nativement dans Hive et utiliser l’accélération LLAP de manière fluide.

Tables transactionnelles Hive

HDI 4.0 inclut Apache Hive 3. Hive 3 nécessite une conformité ACID (atomicité, cohérence, isolation, durabilité) pour les tables transactionnelles qui résident dans l’entrepôt Hive. Les tables de conformité ACID et les données de table sont accessibles et gérées par Hive. Les données des tables CRUD (créer, récupérer, mettre à jour et supprimer) doivent être au format de fichier ORC (Optimized Row Column). Les tables à insertion uniquement prennent en charge tous les formats de fichier.

Notes

La prise en charge ACID/transactionnelle ne fonctionne que pour les tables managées et non pour les tables externes. Les tables externes Hive sont conçues pour permettre aux parties externes de lire et d’écrire des données de table, sans avoir à modifier les données sous-jacentes. Pour les tables ACID, Hive peut modifier les données sous-jacentes avec des compactages et des transactions.

Voici quelques-uns des avantages des tables ACID

  • ACID v2 améliore les performances au niveau du format de stockage et du moteur d’exécution.

  • ACID est activé par défaut pour autoriser la prise en charge complète des mises à jour de données.

  • Les capacités ACID améliorées vous permettent d’effectuer des mises à jour et des suppressions au niveau des lignes.

  • Aucune surcharge de performances.

  • Aucun compartimentage nécessaire.

  • Spark peut lire et écrire dans des tables ACID Hive via le connecteur d’entrepôt Hive.

Apache Spark

Apache Spark obtient des tables pouvant être mises à jour et des transactions ACID avec le connecteur d’entrepôt Hive. Le connecteur d’entrepôt Hive vous permet d’inscrire des tables transactionnelles Hive comme des tables externes dans Spark pour accéder à toutes les fonctionnalités transactionnelles. Les versions précédentes prenaient uniquement en charge la manipulation de partitions de table. Le connecteur d’entrepôt Hive prend aussi en charge les trames de données de streaming. Ce processus diffuse en continu les lectures et les écritures dans des tables Hive de streaming et transactionnelles à partir de Spark.

Les exécuteurs Spark peuvent se connecter directement aux démons Hive LLAP pour récupérer et mettre à jour les données de façon transactionnelle, ce qui permet à Hive de garder le contrôle des données.

Apache Spark sur HDInsight 4.0 prend en charge les scénarios suivants :

  • Entraîner le modèle Machine Learning sur la même table transactionnelle utilisée pour la création de rapports.
  • Exécuter un travail de streaming Spark sur le flux de modification à partir d’une table de streaming Hive.
  • Créer des fichiers ORC directement à partir d’un travail Spark Structured Streaming.

Ce n’est plus un souci si vous essayez accidentellement d’accéder à des tables transactionnelles Hive directement à partir de Spark. Cela entraîne des résultats incohérents, des données en double ou une altération des données. Dans HDInsight 4.0, les tables Spark et les tables Hive sont conservées dans des metastores séparés. Utilisez le connecteur d’entrepôt de données Hive pour inscrire explicitement des tables transactionnelles Hive comme des tables externes Spark.

Apache Oozie

Apache Oozie 4.3.1 est inclus dans HDI 4.0 avec les changements suivants :

  • Oozie n’exécute plus d’actions Hive. Hive CLI a été supprimé et remplacé par BeeLine.

  • Vous pouvez exclure les dépendances indésirables de la bibliothèque de partage en ajoutant un modèle d’exclusion dans votre fichier job.properties.

Comment effectuer une mise à niveau vers HDInsight 4.0

Testez de manière approfondie vos composants avant d’implémenter la dernière version dans un environnement de production. HDInsight 4.0 vous permet de lancer le processus de mise à niveau. HDInsight 3.6 est l'option par défaut pour prévenir les accidents.

Il n’existe aucun chemin de mise à niveau des versions précédentes de HDInsight vers HDInsight 4.0 pris en charge. Comme les formats de données des metastores et des objets blob ont changé, HDInsight 4.0 n’est pas compatible avec les versions précédentes. Il est important de bien séparer votre nouvel environnement HDInsight 4.0 de votre environnement de production actuel. Si vous déployez HDInsight 4.0 sur votre environnement actuel, votre metastore sera mis à niveau de manière irréversible.

Limites

  • HDInsight 4.0 ne prend pas en charge Apache Storm.
  • HDInsight 4,0 ne prend pas en charge le type de cluster ML services.
  • L’interpréteur de commandes d’Apache Zeppelin n’est pas pris en charge dans les clusters Spark et Interactive Query.
  • Apache Pig s’exécute sur Tez par défaut. Toutefois, vous pouvez le remplacer par MapReduce.
  • L’intégration de Spark SQL Ranger pour la sécurité des lignes et des colonnes est déconseillée.

Étapes suivantes