Exécution en continu (streaming)
L'exécution en continu est utilisée pour traiter des quantités illimitées de données. Sans l'exécution en continu, l'entrée de la transformation est entièrement mise en mémoire avant que la transformation ne soit exécutée, ce qui limite la quantité de données à transformer à ce que la mémoire disponible peut contenir.
L'exécution en continu fonctionne en accumulant des blocs de données d'entrée puis en exécutant la transformation séparément sur chaque bloc. Pour cette raison, il existe des restrictions quant à ce qui peut être spécifié dans la transformation.
Vous spécifiez que la transformation doit être diffusée en continu en cochant la propriété Stream Input (Diffuser l'entrée en continu) dans la fonction SimpleLoop. Ce faisant, une requête xQuery est exécutée tous les 1 000 éléments récurrents, ou à chaque bloc. Par défaut, un comptage de bloc est défini sur 1 000. Vous pouvez modifier ce comportement en appelant une variable de contexte transform.streaming.block.count et en ajoutant une valeur numérique positive.
- Si vous cochez la propriété Stream Input (Diffuser l'entrée en continu) dans la fonction SimpleLoop, vous ne pouvez pas utiliser les clés de tri, l'action de tri ne pouvant pas être effectuée lors de la diffusion en continu.
-
Si vous cochez la propriété Stream Input (Diffuser l'entrée en continu) dans la fonction SimpleLoop et que vous sélectionnez également un élément enfant distinct, l'entrée est déjà triée par l'élément enfant de manière à ce que le calcul distinct puisse être effectué sans tri supplémentaire.