Concepts de Structured Streaming
Apache Spark Structured Streaming est un moteur de traitement quasi en temps réel qui offre une tolérance aux pannes de bout en bout avec des garanties de traitement exactement une fois, en utilisant des API Spark familières. Structured Streaming vous permet d'exprimer des calculs sur des données de streaming de la même manière que vous exprimez un calcul par batch sur des données statiques. Le moteur Structured Streaming effectue le calcul de manière incrémentielle et met à jour le résultat en continu à mesure que les données de streaming arrivent.
Pour un tutoriel pas à pas, consultez Exécuter votre première charge de travail Structured Streaming.
Lire à partir d'un Stream de données.
Utilisez Structured Streaming pour ingérer des données de manière incrémentielle à partir de sources de données prises en charge.
-
- Auto Loader
- Traitez de manière incrémentielle et efficace les nouveaux fichiers de données au fur et à mesure qu'ils arrivent dans le stockage cloud.
-
- Lectures et écritures en streaming des tables Delta Lake
- Utilisez les tables Delta Lake comme sources et récepteurs de streaming avec des garanties de traitement exactement une fois.
-
- Connecteurs standard
- Connectez-vous aux bus de messages, aux files d'attente et aux applications d'entreprise à l'aide de connecteurs standards.
-
- Taille de micro-batch
- Limitez les débits d’entrée pour maintenir des tailles de batch cohérentes et éviter les retards de traitement.
Écrire dans un puits de données
Configurez la manière dont Structured Streaming fournit des données aux systèmes cibles.
-
- Points de contrôle
- Stockez l'état de traitement pour activer la tolérance aux pannes et la sémantique de livraison exactement une fois.
-
- Mode de résultat
- Choisissez entre les modes d'ajout, de mise à jour et d'achèvement pour les streaming query avec état.
-
- Intervalles de Trigger
- Définissez les intervalles de Trigger pour équilibrer la latence et le coût en fonction de vos exigences de traitement.
-
- Mode temps réel dans Structured Streaming
- Traitez les données pour les charges de travail en temps réel avec une latence de bout en bout aussi faible que cinq millisecondes.
Traitement avec état et sans état
Les query sans état traitent les lignes sans conserver l'état. Les query avec état maintiennent un état intermédiaire pour les agrégations, les jointures et la déduplication.
-
- Requêtes de streaming sans état
- Optimiser les queries qui traitent les données sans maintenir d'état intermédiaire.
-
- Filigranes
- Contrôlez la durée pendant laquelle Structured Streaming attend les données arrivant en retard dans les Opérations avec état.
-
- Streaming avec état
- Gérer les agrégations, les jointures de Stream-Stream et la déduplication à l'aide d'opérateurs avec état.
Superviser et gérer
Suivez les performances des queries, appliquez des optimisations et régissez l'accès aux données pour les charges de travail Structured Streaming en production.
-
- Surveiller avec StreamingQueryListener
- Suivre la progression des query et les métriques de performance à l'aide de la Spark UI et de l'API d'écoute.
-
- Gouverner avec Unity Catalog
- Configurez Unity Catalog pour les charges de travail de streaming avec gouvernance et contrôle d'accès.