En décembre 2012, alors que Cloudera Impala était encore en phase bêta, nous avons fourni une feuille de route pour les fonctionnalités prévues dans la version de production. Dans le même esprit de tenir les utilisateurs, les clients et les passionnés d'Impala bien informés, cet article fournit une feuille de route mise à jour pour les prochaines versions plus tard cette année et au début de 2014.
Mais d'abord, un merci :depuis la version bêta initiale, nous avons reçu une quantité considérable de commentaires et de validations sur Impala - copieux en qualité comme en quantité. Au moins une personne dans environ 4 500 organisations uniques à travers le monde a téléchargé le binaire Impala à ce jour. Et même après seulement quelques mois de GA, nous avons vu des clients Cloudera Enterprise de plusieurs secteurs déployer Impala 1.x dans des environnements critiques avec une prise en charge via un abonnement Cloudera RTQ (Real-Time Query) - y compris des organisations leaders dans le domaine de l'assurance, banque, vente au détail, santé, jeux, gouvernement, télécommunications et publicité.
De plus, sur la base de la réaction d'autres fournisseurs dans le domaine de la gestion des données, peu d'observateurs contesteraient l'idée qu'Impala a fait des requêtes SQL interactives à faible latence pour Hadoop une exigence client aussi importante que les requêtes SQL à latence élevée et orientées par lots. activé par Apache Hive. C'est un excellent développement pour les utilisateurs Hadoop du monde entier !
Ce qui a été livré dans Impala 1.0/1.1
Commençons par un bulletin sur la feuille de route Impala 1.0/1.1 précédemment publiée. Voici la liste des fonctionnalités, regroupées par statut de livraison :
Livré :
| Reporté en fonction des commentaires des clients :
|
De plus, grâce à l'ajout du module Apache Sentry (en incubation), Impala 1.1 et les versions ultérieures fournissent désormais également une autorisation granulaire basée sur les rôles, garantissant que les bons utilisateurs et applications ont accès aux bonnes données. (Avec la récente contribution de Sentry à l'incubateur Apache et de HiveServer2 à Hive by Cloudera, Hive 0.11 et les versions ultérieures disposent également de cette fonctionnalité.)
Beaucoup de travail a été fait, mais il reste encore beaucoup de travail à faire. Passons maintenant à la vague Impala 2.0.
Feuille de route à court terme
La nouvelle fonctionnalité Impala suivante sera publiée progressivement dans les prochaines versions à court terme, en commençant par Impala 1.2 fin 2013 et se terminant par Impala 2.0 au premier tiers de 2014. De plus, vous verrez plus de gains de performances et d'améliorations des fonctionnalités SQL dans chaque version - dans le but d'étendre l'avance de performance d'Impala sur les approches alternatives SQL-on-Hadoop des fournisseurs de bases de données relationnelles hérités ainsi que des fournisseurs de distribution Hadoop.
Veuillez noter, comme c'est toujours le cas avec les feuilles de route, que les délais et les fonctionnalités sont toujours sujets à changement. Ce que vous voyez ci-dessous reflète cependant notre plan d'enregistrement actuel.
Impala 1.2
- UDF et extensibilité :permet aux utilisateurs d'ajouter leurs propres fonctionnalités personnalisées ; Impala prendra en charge les UDF Hive Java existantes ainsi que les UDF et UDAF natifs hautes performances
- Actualisation automatique des métadonnées :permet aux nouvelles tables et données d'être disponibles de manière transparente pour les requêtes Impala à mesure qu'elles sont ajoutées sans avoir à émettre une actualisation manuelle sur chaque nœud Impala
- Mise en cache HDFS en mémoire :permet d'accéder aux données Hadoop fréquemment consultées à des vitesses en mémoire
- Optimisation de l'ordre de jointure basée sur les coûts – évite à l'utilisateur d'avoir à deviner le bon ordre de jointure
- Aperçu du gestionnaire de ressources intégré à YARN :permet de hiérarchiser les charges de travail avec une granularité plus fine que l'isolement au niveau du service actuellement fourni dans Cloudera Manager
Impala 2.0
La liste ci-dessous ne capture que les fonctionnalités les plus importantes et les plus fréquemment demandées ; ce n'est en aucun cas complet.
- Fonctions de fenêtre d'analyse conformes à SQL 2003 (agrégation SUR PARTITION) :pour fournir des fonctionnalités d'analyse SQL plus avancées
- Mécanismes d'authentification supplémentaires, y compris la possibilité de spécifier un nom d'utilisateur/des mots de passe en plus de l'authentification Kerberos déjà prise en charge
- UDTF (fonctions de table définies par l'utilisateur) :pour des fonctions utilisateur et une extensibilité plus avancées
- Agrégations et jointures parallélisées intra-nœuds :pour fournir des jointures et des agrégations encore plus rapides en plus des gains de performances d'Impala
- Données imbriquées :permet d'effectuer des requêtes sur des structures imbriquées complexes, notamment des cartes, des structures et des tableaux
- Gestionnaire de ressources amélioré, prêt pour la production et intégré à YARN
- Améliorations du parquet :gains de performances continus, y compris les pages d'index
- Types de données supplémentaires, y compris les types Date et Décimal
- ORDER BY sans clause LIMIT
Au-delà de l'Impala 2.0
La liste suivante de fonctionnalités est celle qui, selon nous, sera présente dans la version 2.1 ou une version peu de temps après :
- Fonctionnalité SQL analytique supplémentaire :ROLLUP, CUBE et GROUPING SET
- Apache HBase CRUD :permet l'utilisation d'Impala pour les insertions et les mises à jour dans HBase
- Jointures externes utilisant le disque :permet aux jointures entre les tables de se répandre sur le disque pour les jointures qui nécessitent des tables de jointure plus grandes que la taille de la mémoire agrégée
- Sous-requêtes dans les clauses WHERE
Au fur et à mesure que nous en apprendrons davantage sur les exigences des clients et des partenaires, cette liste s'allongera.
Conclusion
Comme vous pouvez le voir, Impala a considérablement évolué depuis sa version bêta, et il continuera d'évoluer au fur et à mesure que nous recueillons davantage de commentaires d'utilisateurs, de clients et de partenaires.
En fin de compte, nous pensons qu'Impala a déjà atteint notre objectif global de permettre aux utilisateurs de stocker toutes leurs données dans des formats de fichiers Hadoop natifs et d'exécuter simultanément toutes les charges de travail par lots, d'apprentissage automatique, SQL/BI interactives, mathématiques, de recherche et autres sur ces données. en place. À partir de là, il s'agit simplement de continuer à s'appuyer sur cette base très solide avec des fonctionnalités plus riches et des performances améliorées.
Justin Erickson est directeur de la gestion des produits chez Cloudera.