Groupes du service de flux de données
Les groupes de flux de données peuvent être utilisés dans de nombreuses charges de travail de flux de données par lots, de diffusion en continu et de session par divers utilisateurs en même temps dans le même locataire.
Les groupes fournissent un mécanisme puissant et flexible pour gérer efficacement les charges de travail par lots, en continu et de session basées sur Spark entre plusieurs utilisateurs du même locataire. Conçus pour prendre en charge à la fois les environnements de production sensibles au temps et les scénarios de développement dynamique, les groupes réduisent les temps de démarrage des applications en maintenant une infrastructure de calcul préinitialisée.
Elles permettent d'isoler les charges de travail de l'entreprise pour éviter que les tâches de production critiques ne soient affectées par les activités de développement au moyen d'une segmentation dédiée des ressources. Le contrôle des coûts est rationalisé avec des politiques IAM détaillées qui limitent l'utilisation du groupe aux utilisateurs autorisés ou à des environnements spécifiques. Dans le même temps, les mécanismes de mise en file d'attente intelligents permettent de soumettre des tâches à volume élevé tout en optimisant l'utilisation des ressources.
Il est possible de programmer le démarrage automatique des groupes dans les intervalles de temps définis, puis leur arrêt après une temporisation de l'utilisation, ce qui permet d'aligner la disponibilité du calcul sur les processus d'affaires et de réduire le coût d'inactivité. De plus, l'automatisation intégrée gère les correctifs de sécurité de façon transparente sans perturber les applications en cours d'exécution, ce qui fait des groupes le choix idéal pour une exécution sécurisée, évolutive et rentable de la charge de travail Spark.
Les piscines offrent un large éventail de fonctionnalités pour divers cas d'utilisation, tels que :
- Charges de travail de production volumineuses sensibles au temps avec de nombreux exécuteurs qui nécessitent un temps de démarrage plus rapide en quelques secondes.
- Les charges de travail de production critiques ne sont pas affectées par les charges de travail de développement dynamique, car leurs ressources peuvent être séparées en différents pools.
- Contrôler le coût et l'utilisation pour le développement à l'aide d'une politique IAM qui vous permet de soumettre des exécutions de flux de données à des groupes spécifiques.
- Un grand nombre d'exécutions de flux de données doivent être traitées avec moins de temps de démarrage.
- Le service de flux de données en file d'attente s'exécute dans un groupe pour une utilisation efficace des ressources et un contrôle des coûts.
- Les charges de travail s'exécutent uniquement dans une fenêtre temporelle spécifique d'une journée qui nécessite le démarrage automatique d'un groupe dans un programme et l'arrêt automatique lorsqu'elles sont inactives.
- Application automatique de correctifs de sécurité sans affecter les exécutions ou les ressources d'un groupe.
Un autre cas d'utilisation pour le service de flux de données est la possibilité de préallouer (ou de réserver) des noeuds avec une configuration spéciale. Ce sont des ressources de tailles spécifiques (ou la relation entre l'UC et la mémoire) qui sont rares dans les centres de données prenant en charge la région. Les travaux nécessitant une telle configuration spéciale impliquent généralement des volumes de données importants et des tailles d'enregistrement qui ne peuvent pas être facilement distribués en affectant plus de noeuds à l'exécution du travail.
Pour ces scénarios, il est pratique d'interroger les centres de données de la région pour évaluer la disponibilité de ces ressources. Les échantillons d'Oracle offrent une approche simple pour l'examen de cette capacité dans divers contextes commerciaux.
Configuration des exécutions et des applications pour utiliser des groupes
Utiliser des groupes avec des applications et des exécutions de flux de données.
Développer une application avec un pool
Lors du développement d'applications, vous pouvez sélectionner un groupe dans n'importe quel état, à l'exception de DELETED à ajouter à une application. Sélectionnez uniquement les formes de pilote et d'exécuteur configurées dans le groupe de flux de données ajouté à l'application.
Exécuter une application avec un groupe
Lors de la soumission d'une exécution de flux de données, sélectionnez un groupe dans n'importe quel état sauf DELETED pour être ajouté à une application. Sélectionnez uniquement les formes de pilote et d'exécuteur configurées dans le groupe de flux de données ajouté à l'exécution.
Mise en file d'attente du flux de données avec le groupe
Vous pouvez soumettre d'autres exécutions à la file d'attente du groupe alors que les ressources de calcul du groupe sont utilisées par d'autres exécutions. Par défaut, les exécutions sont mises en file d'attente pendant 20 minutes pour attendre que les ressources du groupe soient disponibles. Vous pouvez configurer le temps d'attente dans la file d'attente en définissant la configuration Spark, spark.dataflow.acquireQuotaTimeout , dans les options avancées d'exécution du service de flux de données ou d'application. La valeur de cette configuration peut être formatée en tant que 1h | 30m | 45min, etc.
Pendant qu'une exécution du service de flux de données attend dans la file d'attente que les ressources détenues par les exécutions actives dans le groupe soient disponibles, un démarrage à froid se produit.
Démarrage du groupe de flux de données à partir de l'exécution
Les groupes de flux de données arrêtés ou acceptés peuvent également être démarrés en soumettant une exécution avec un groupe.
Les exécutions attendent que le groupe soit actif pour démarrer. Nous recommandons d'utiliser la fonction de mise en file d'attente du groupe pour éviter les temporisations d'exécution. L'annulation et l'arrêt de l'exécution n'arrêtent pas le groupe.
Remplacement de l'ID groupe dans une exécution ou une application
-
Lors de l'ajout d'un groupe dans une application et une exécution, le groupe ajouté à l'exécution est utilisé.
-
Lors de l'ajout d'un groupe dans une application, mais pas dans une exécution, lors de la soumission de l'exécution, le groupe ajouté à l'application est utilisé.
-
Lors de l'ajout d'un groupe dans une exécution, mais pas dans une application, lors de la soumission de l'exécution, le groupe ajouté à l'exécution est utilisé.
-
Cela permet d'utiliser de nombreux pools dans différentes exécutions de la même application.
Limites
- Les limites de flux de données et les quotas de compartiment au niveau du locataire sont toujours applicables lors de la création ou du démarrage de groupes.
- Maximum de 1000 noeuds au total pour toutes les configurations d'un groupe.
- Le nombre de groupes pouvant être créés et utilisés n'est pas limité. Un administrateur peut écrire une politique de quota de compartiment pour limiter un utilisateur, un groupe d'utilisateurs ou un compartiment afin de contrôler la forme et le nombre de noeuds configurés dans un groupe.