Livy est un service qui interagit avec Spark via une API REST ou une bibliothèque cliente RPC. Utilisez Livy pour soumettre des jobs Spark ou des extraits de code, récupérer les résultats de manière synchrone ou asynchrone et gérer les contextes Spark. Livy simplifie l'interaction entre Spark et les serveurs d'applications, ce qui permet d'utiliser Spark pour des applications web ou mobiles interactives.
Principales fonctionnalités
| Fonctionnalité | Description |
|---|---|
| Contextes Spark persistants | Maintient des contextes Spark à longue durée de vie partagés entre plusieurs jobs et clients, éliminant ainsi la surcharge de démarrage liée à chaque requête. |
| Partage de RDD mis en cache | Partage des jeux de données distribués résilients (RDD) mis en cache entre plusieurs jobs et clients. |
| Gestion simultanée des contextes | Exécute plusieurs contextes Spark simultanément. |
| Soumission flexible des jobs | Soumet des jobs à l'aide d'un package JAR précompilé, d'extraits de code, d'une API Java ou d'une API Scala. |
| Intégration de la sécurité | S'intègre aux mécanismes de sécurité pour contrôler l'accès aux ressources Spark. |
Versions prises en charge
| Version EMR | Prise en charge de Livy |
|---|---|
| 5.6.0 et antérieures | Inclus par défaut |
| 5.8.0 et ultérieures | Non inclus. Installez Livy manuellement et évaluez les risques de compatibilité et de sécurité avant utilisation. |
Soumettre un job
Livy prend en charge quatre méthodes pour soumettre des jobs Spark. Choisissez celle qui correspond le mieux à votre intégration :
| Méthode | Idéal pour | Documentation |
|---|---|---|
| API REST | Les intégrations indépendantes du langage, les scripts shell et les workflows basés sur HTTP | Référence officielle de l'API REST |
| API programmatique | Les applications JVM qui soumettent des jobs sans passer par HTTP | Référence officielle de l'API programmatique |
| API Java | Les clients Java offrant une sécurité de type pour soumettre des jobs et récupérer les résultats | Référence de l'API Java |
| API Scala | Les clients Scala idiomatiques pour soumettre des jobs et gérer les sessions | Référence de l'API Scala |