Apache Impala et Apache Kudu constituent une excellente combinaison pour l’analyse en temps réel des données en streaming pour les cas d’utilisation de séries chronologiques et d’entreposage de données en temps réel. Plus de 200 clients Cloudera ont implémenté avec succès Apache Kudu avec Apache Spark pour l’ingestion et Apache Impala pour des cas d’utilisation de BI en temps réel au cours de la dernière décennie, avec des milliers de nœuds exécutant Apache Kudu. Ces cas d’utilisation varient de l’analyse des télécommunications 4G/5G aux rapports et alertes en temps réel sur le pétrole et le gaz, en passant par les cas d’utilisation de la chaîne d’approvisionnement pour les sociétés pharmaceutiques ou les systèmes d’analyse des opérations bancaires et boursières de base.
La multitude de cas d’utilisation qu’Apache Kudu peut servir est déterminée par ses performances, un moteur de stockage en colonnes soutenu par C++ qui permet aux données d’être ingérées et servies quelques secondes après l’ingestion. Outre sa vitesse, sa cohérence et son atomicité, Apache Kudu prend également en charge les propriétés transactionnelles pour les mises à jour et les suppressions, permettant des cas d’utilisation qui écrivent traditionnellement une fois et lisent plusieurs fois, ce que les systèmes de fichiers distribués ne pouvaient pas prendre en charge. Apache Impala est un moteur SQL distribué basé sur C++ qui s’intègre à Kudu pour fournir des résultats BI sur des millions de lignes respectant des accords de niveau de service inférieurs à la seconde.
Cloudera propose d’exécuter Apache Kudu Clusters DataMart en temps réel, et Apache Impala pour s’exécuter dans Kubernetes dans le facteur de forme Cloudera Data Warehouse. Avec une Impala évolutive exécutée dans CDW, les clients souhaitaient un moyen de connecter CDW au service Kudu dans les clusters DataHub. Dans ce blog, nous expliquerons comment les intégrer ensemble pour réaliser la séparation du calcul (c’est-à-dire Impala) et du stockage (c’est-à-dire Kudu). Les clients peuvent faire évoluer les deux couches indépendamment pour gérer les charges de travail selon la demande. Cela permet également des scénarios avancés dans lesquels les clients peuvent connecter plusieurs clusters virtuels CDW à différents clusters de datamart en temps réel pour se connecter à un cluster Kudu spécifique à leurs charges de travail.
Étapes de configuration
Conditions préalables
- Créer un cluster Kudu DataHub de version 7.2.15 ou ultérieure
- Assurez-vous que l’environnement CDW est mis à niveau vers la version 1.6.1-b258 ou une version ultérieure avec le temps d’exécution 2023.0.13.20.
- Créer un entrepôt virtuel Impala dans CDW
Étape 1 : Obtenez les détails du nœud maître Kudu
1-Connectez-vous à CDP, accédez aux clusters Data Hub et sélectionnez le cluster Kudu Real Time Data Mart que vous souhaitez interroger auprès de CDW.
2-Cliquez sur les détails du cluster et utilisez l’onglet « Nœuds » pour capturer les détails des trois nœuds maîtres Kudu comme indiqué ci-dessous.
Dans l’exemple ci-dessous, les nœuds maîtres sont :
- go01-datamart-master20.go01-dem.ylcu-atmi.cloudera.site
- go01-datamart-master30.go01-dem.ylcu-atmi.cloudera.site
- Go01-datamart-master10.go01-dem.ylcu-atmi.cloudera.site
Étape 2 : Configurer l’entrepôt virtuel CDW Impala
1- Accédez à CDW et sélectionnez l’entrepôt virtuel Impala que vous souhaitez configurer pour fonctionner avec Kudu dans un cluster de datamart en temps réel. Cliquez sur « Modifier » et accédez à la page de configuration. Assurez-vous que la version Impala VW est 2023.0.13-20 ou supérieure.
2- Sélectionnez la configuration du fichier de drapeau du coordinateur Impala à modifier comme indiqué ci-dessous :
3- Recherchez «kudu_master_hosts« configuration et modifiez la valeur comme ci-dessous :
Go01-datamart-master20.go01-dem.ylcu-atmi.cloudera.site:7051 ,go01-datamart-master30.go01-dem.ylcu-atmi.cloudera.site:7051, go01-datamart-master10.go01-dem.ylcu-atmi.cloudera.site![]()
4- Si la configuration « kudu_master_hosts » n’est pas trouvée alors cliquez sur l’icône « + » et la configuration comme ci-dessous :
5- Cliquez sur « appliquer les modifications » et attendez que la VW redémarre.
Étape 3 : Exécuter des requêtes sur les tables Kudu
Une fois la mise à jour de l’entrepôt virtuel terminée, vous pouvez interroger les tables Kudu à partir de Hue, d’un shell Impala ou d’un client ODBC/JDBC comme indiqué ci-dessous :
Résumé
Avec l’intégration de CDW et Kudu DataHub, vous pouvez désormais augmenter vos ressources de calcul à la demande et consacrer les ressources DataHub uniquement à l’exécution de Kudu. L’exécution de requêtes Kudu à partir d’un entrepôt virtuel Impala offre des avantages, tels que isolement des voisins bruyants, mise à l’échelle automatiqueet suspension automatique.
Vous pouvez également potentiellement utiliser Cloudera Data Engineering pour ingérer des données dans le cluster Kudu DH, utilisant ainsi le cluster DH uniquement pour le stockage. Les utilisateurs avancés peuvent également utiliser TBLPROPERTIES pour définir les détails du cluster Kudu afin d’interroger les données de n’importe quel cluster Kudu DH de leur choix.
Entre autres fonctionnalités de cette intégration, vous pouvez également utiliser les dernières fonctionnalités CDW telles que :
- Authentification JWT dans CDW Impala.
- Utilisation d’un seul service Impala pour le magasin d’objets et les tables Kudu, ce qui permet aux utilisateurs finaux/outils de BI de ne pas avoir à configurer plus d’un service Impala.
- Augmentez et développez Kudu en DH, uniquement lorsque vous manquez d’espace. Finalement, vous pouvez également arrêter d’exécuter Impala dans un modèle DM en temps réel et simplement utiliser CDW Impala pour interroger Kudu dans DH.
Et après
- Pour le guide de configuration complet, reportez-vous à Documentation CDW sur ce sujet. Pour en savoir plus sur Cloudera Data Warehouse, veuillez cliquer sur ici.
- Si vous souhaitez discuter de Cloudera Data Warehouse (CDW) + Kudu dans CDP, veuillez contacter l’équipe de votre compte.