Apache Kyuubi est une passerelle distribuée et multi-locataire qui fournit des services de requête SQL pour les moteurs de requête de data lake tels que Spark, Flink et Trino.
Fonctionnalités
Multi-locataire : Kyuubi prend entièrement en charge le multi-locataire pour l'allocation des ressources, l'accès aux données et l'accès aux métadonnées, grâce à une couche unifiée d'authentification et d'autorisation.
Haute disponibilité : Kyuubi s'appuie sur ZooKeeper pour l'équilibrage de charge, offrant une haute disponibilité de niveau entreprise et une concurrence client illimitée.
Charges de travail multiples : Kyuubi gère plusieurs charges de travail sur une seule plateforme avec une seule copie des données et une interface SQL unifiée.
Scénarios
Analyse interactive : Kyuubi permet de déployer des plateformes d'analyse de niveau entreprise pour l'analyse visuelle interactive des big data. Il prend en charge les frameworks de calcul courants ainsi que les interfaces Java Database Connectivity (JDBC) et Open Database Connectivity (ODBC), ce qui permet d'exécuter efficacement des requêtes via SQL ou des outils de business intelligence (BI). Kyuubi met en cache les instances du moteur backend au niveau utilisateur pour améliorer le partage des ressources et accélérer les temps de réponse. Il traite les requêtes sur de grands ensembles de données en parallèle et renvoie les résultats rapidement.
Traitement par lots : Kyuubi fournit une interface SQL pour le traitement par lots courant, notamment les processus ETL (extraction, transformation et chargement) à grande échelle. Kyuubi et ses moteurs sont indépendants du stockage et prennent en charge de nombreuses sources de données. Kyuubi peut également isoler les instances du moteur backend au niveau de la connexion pour une meilleure isolation des ressources et une stabilité accrue.
Comparaison entre Kyuubi, Livy et Spark ThriftServer
|
Élément de comparaison |
Kyuubi |
Livy |
Spark ThriftServer |
|
Interfaces prises en charge |
SQL, Scala |
SQL, Scala, Python et R |
SQL |
|
Moteurs pris en charge |
Spark, Flink, Trino |
Spark |
Spark |
|
Version de Spark |
Spark 3.x |
Spark 2.x et Spark 3.x |
Inclus avec le composant Spark |
|
Prise en charge des protocoles |
Thrift et JDBC |
HTTP, Thrift et JDBC |
Thrift et JDBC |
|
Client |
Kyuubi Beeline |
Client HTTP |
Spark Beeline |
|
Haute disponibilité |
Prise en charge |
Prise en charge |
Non pris en charge |
|
Isolation des ressources |
Prise en charge |
Prise en charge |
Non pris en charge |
|
Authentification LDAP |
Prise en charge |
Prise en charge |
Prise en charge |
|
Version Alibaba Cloud EMR |
|
|
Toutes les versions |