Mode temps réel dans Structured Streaming
Qu'est-ce que le mode temps réel ?
Le mode temps réel est un type de Trigger pour Structured Streaming qui permet un traitement des données à latence ultra-faible avec une latence de bout en bout aussi basse que cinq millisecondes. Utilisez le mode temps réel pour les charges de travail Opérations qui nécessitent une réponse immédiate aux données de streaming, telles que la détection de fraude et la personnalisation en temps réel.
Le mode temps réel est également disponible dans les LakeFlow Pipelines. Consultez Utiliser le mode LakeFlow pipelines en temps réel.
Comment le mode temps réel atteint une faible latence
Le mode temps réel améliore l'architecture d'exécution :
- Exécution de batches de longue durée (la valeur default est de cinq minutes), dans lesquels le système traite les données dès qu'elles sont disponibles dans la source.
- Planification de toutes les étapes de la query simultanément. Cela nécessite que le nombre d'emplacements de tâches disponibles soit égal ou supérieur au nombre de tâches de toutes les étapes d'un batch.
- Transférer les données entre les étapes dès qu'elles sont produites à l'aide d'un shuffle en streaming.
Entre les batchs, Structured Streaming effectue des points de contrôle de la progression et publie des métriques. La durée du batch affecte la fréquence des points de contrôle :
- Pour les batchs plus longs, la création de points de contrôle a lieu moins fréquemment, ce qui signifie des relectures plus longues en cas d'échec et une disponibilité des métriques retardée.
- Pour des batches plus courts, le point de contrôle se produit plus fréquemment, ce qui peut affecter la latence.
Databricks recommande d'évaluer le mode temps réel par rapport à votre charge de travail cible pour trouver l'intervalle de Trigger approprié.
Quand utiliser le mode temps réel
Sélectionnez le mode temps réel lorsque votre cas d'utilisation nécessite :
- Latence inférieure à la seconde : Applications qui doivent réagir aux données en quelques millisecondes. Par exemple, bloquer ou signaler une transaction par carte de crédit en temps réel si un score de fraude dépasse un threshold basé sur un emplacement inhabituel, une transaction de grande taille ou des habitudes de dépenses rapides.
- Prise de décision opérationnelle : Systèmes qui Trigger des actions immédiates basées sur les données entrantes. Par exemple, diffuser un message promotionnel lorsque les données de parcours de clics montrent qu'un utilisateur a parcouru un produit, offrant une remise s'il achète dans les 15 minutes.
- Traitement continu : Charges de travail où les données doivent être traitées dès leur arrivée, plutôt qu'en batches périodiques.
Utilisez le mode micro-batch (le Trigger Structured Streaming default) lorsque votre cas d'utilisation l'exige :
- **Traitement analytique** : pipelines ETL, Transformations de données et implémentations d'architecture en médaillon où les exigences de latence se mesurent en secondes ou en minutes.
- **Optimisation des coûts** : Charges de travail où une latence inférieure à la seconde n'est pas requise, car le mode temps réel nécessite des Ressources de compute dédiées.
- **Récupération plus rapide** : charges de travail nécessitant des points de contrôle fréquents pour minimiser le temps de relecture après une panne.
Prise en charge et limitations des fonctionnalités
Pour obtenir la liste complète des environnements, des langages, des types de compute, des sources, des destinations, des opérateurs et des limitations connus pris en charge, consultez la référence du mode temps réel.
Ressources supplémentaires
- Configurer le mode temps réel.
- Tutoriel : exécuter une charge de travail de streaming en temps réel
- Exemples de mode temps réel
- Optimiser et surveiller les performances des query en mode temps réel
- Référence du mode Temps réel
- Concepts de Structured Streaming
- Utilisez le mode temps réel dans les LakeFlow Pipelines.