Concepts de Structured Streaming
Cet article fournit une introduction à Structured Streaming sur Azure Databricks.
Qu’est-ce que Structured Streaming ?
Apache Spark Structured Streaming est un moteur de traitement en quasi-temps réel qui offre une tolérance de panne de bout en bout assortie de garanties de traitement exactement une fois avec des API Spark familières. Structured Streaming vous permet d’exprimer un calcul sur des données de diffusion en continu de la même façon que vous exprimez un calcul par lot sur des données statiques. Le moteur Structured Streaming effectue le calcul de façon incrémentielle et met à jour en continu le résultat au fur et à mesure que des données de streaming arrivent.
Lecture à partir d’un flux de données
Vous pouvez utiliser Structured Streaming pour ingérer de manière incrémentielle des données à partir de sources de données prises en charge. Les sources de données courantes sont les suivantes :
- Fichiers de données dans le stockage d’objets cloud. Consultez Qu’est-ce que Auto Loader ?.
- Bus de messages et files d’attente. Consultez Configurer des sources de données de diffusion en continu.
- Delta Lake. Voir Lectures et écritures en diffusion en continu sur des tables Delta.
Chaque source de données fournit un certain nombre d’options pour spécifier comment charger des lots de données. Pendant la configuration du lecteur, vous devrez peut-être configurer des options pour effectuer ce qui suit :
- Spécifiez la source de données ou le format (par exemple, le type de fichier, les délimiteurs et le schéma).
- Configurez l’accès aux systèmes sources (par exemple, les paramètres de port et les informations d’identification).
- Spécifiez où démarrer dans un flux (par exemple, les décalages Kafka ou la lecture de tous les fichiers existants).
- Contrôlez la quantité de données traitées dans chaque lot (par exemple, maximum de décalages, de fichiers ou d’octets par lot). Consultez Configurer une taille de lot de Structured Streaming sur Azure Databricks.
Écrire dans un récepteur de données
Un récepteur de données est la cible d’une opération d’écriture de diffusion en continu. Les récepteurs courants utilisés dans les charges de travail de diffusion en continu Azure Databricks sont les suivants :
- Delta Lake
- Bus de messages et files d’attente
- Bases de données clé-valeur
Comme pour les sources de données, la plupart des récepteurs de données fournissent plusieurs options pour contrôler la façon dont les données sont écrites dans le système cible. Pendant la configuration de l’enregistreur, vous spécifiez les options suivantes :
- Mode de sortie (ajouter par défaut). Consultez Sélectionner un mode de sortie pour Structured Streaming.
- Un emplacement de point de contrôle (requis pour chaque enregistreur). Consultez les Points de contrôle Structured Streaming.
- Intervalles de déclencheur. Consultez Configurer des intervalles de déclencheur Structured Streaming.
- Options qui spécifient le récepteur de données ou le format (par exemple, le type de fichier, les délimiteurs et le schéma).
- Options qui configurent l’accès aux systèmes cibles (par exemple, les paramètres de port et les informations d’identification).