Comprendre le traitement des événements

Terminée

Tip

Pour plus d’informations, consultez l’onglet Texte et images !

Azure Stream Analytics est un service pour le traitement complexe des événements et l’analyse des données de diffusion en continu. Stream Analytics permet d’effectuer les opérations suivantes :

  • Ingérer des données à partir d’une entrée, comme Azure Event Hub, Azure IoT Hub, ou conteneur de stockage Blob Azure.
  • Traitez les données en utilisant une requêtepour sélectionner, projeter et agréger les valeurs des données.
  • Écrivez les résultats dans une sortie, comme Azure Data Lake Storage Gen2, Azure SQL Database, Azure Cosmos DB, Azure Functions, Azure Event Hubs, Microsoft Power BI ou d’autres.

Diagramme montrant une tâche Stream Analytics avec des entrées, une requête et des sorties.

Une fois démarrée, une requête Stream Analytics s’exécute perpétuellement, traitant de nouvelles données à mesure qu’elles arrivent dans l’entrée et stockant les résultats dans la sortie.

Stream Analytics garantit un traitement des événements exactement une fois et une remise d’événements au moins une fois, afin que les événements ne soient jamais perdus. Le traitement « exactement une fois » est garanti pour les sorties sélectionnées. Pour plus d’informations, consultez les garanties de remise d’événements. Stream Analytics dispose de fonctionnalités de récupération intégrées en cas d'échec de remise d'un événement. Stream Analytics fournit également des points de contrôle intégrés pour maintenir l’état de votre travail et produire des résultats reproductibles. Étant donné que Azure Stream Analytics est une solution PaaS (platform-as-a-service), elle est entièrement gérée. Son intégration native à différentes sources et destinations offre un modèle de programmabilité flexible. Le moteur Stream Analytics active le calcul en mémoire, de sorte qu’il offre des performances élevées.

Tâches et clusters Azure Stream Analytics

Le moyen le plus simple d’utiliser Azure Stream Analytics consiste à créer un job Stream Analytics dans un abonnement Azure, à configurer ses entrées et sorties et à définir la requête utilisée par le job pour traiter les données. La requête est exprimée à l’aide de la syntaxe SQL (structured query language) et peut incorporer des données de référence statiques à partir de plusieurs sources de données pour fournir des valeurs de recherche qui peuvent être combinées avec les données de diffusion en continu ingérées à partir d’une entrée.

Si vos exigences en matière de traitement par flux sont complexes ou gourmandes en ressources, vous pouvez créer un cluster Stream Analytics, qui utilise le même moteur de traitement sous-jacent qu’un travail de Stream Analytics, mais dans un déploiement mono-utilisateur (votre traitement n’est donc pas affecté par d’autres clients) et avec une évolutivité configurable qui vous permet de définir le bon équilibre du débit et des coûts pour votre scénario spécifique. Pour plus d’informations, consultez Vue d’ensemble du cluster Azure Stream Analytics.

Données d'entrée

Azure Stream Analytics peut ingérer des données à partir des types d’entrée suivants :

  • Hubs d'événements Azure
  • Azure IoT Hub
  • Stockage Blob Azure
  • Azure Data Lake Storage Gen2
  • Apache Kafka

Les entrées sont généralement utilisées pour référencer une source de données de streaming, qui est traitée en tant que nouveaux enregistrements d’événements sont ajoutés. En outre, vous pouvez définir des entrées de référence utilisées pour ingérer des données statiques afin d’augmenter les données de flux d’événements en temps réel. Par exemple, vous pouvez ingérer un flux de données d’observation météorologique en temps réel qui inclut un ID unique pour chaque station météorologique et augmenter ces données avec une entrée de référence statique qui correspond à l’ID de la station météorologique à un nom plus explicite.

Sorties

Les sorties sont des destinations vers lesquelles les résultats du traitement de flux sont envoyés. Azure Stream Analytics prend en charge un large éventail de récepteurs de sortie, qui peuvent être utilisés pour :

  • Conserver les résultats pour une analyse plus approfondie ; par exemple, en écrivant dans Azure Data Lake Storage Gen2, Azure SQL Database ou Azure Cosmos DB.
  • Analyser les données de journal et de télémétrie à grande échelle ; par exemple, en envoyant des résultats à Azure Data Explorer.
  • Afficher une visualisation en temps réel du flux de données ; par exemple, en ajoutant des données à un jeu de données dans Microsoft Power BI.
  • Générer des événements filtrés ou résumés pour le traitement en aval ; par exemple, en écrivant des résultats dans Azure Event Hubs.

Requêtes

La logique de traitement de flux est encapsulée dans une requête. Les requêtes sont définies à l’aide d’instructions SQL qui sélectionnent les champs de données FROM une ou plusieurs entrées, filtrent ou agrègent les données et écrivent les résultats DANS une sortie. Par exemple, la requête suivante filtre les événements de l’entrée météo-événements afin d’inclure uniquement des données d’événements dont la valeur de température est inférieure à 0 et écrit les résultats dans la sortie de temps froid :

SELECT observation_time, weather_station, temperature
INTO cold-temps
FROM weather-events TIMESTAMP BY observation_time
WHERE temperature < 0

Un champ nommé EventProcessedUtcTime est créé automatiquement pour définir l’heure à laquelle l’événement est traité par votre requête Azure Stream Analytics. Par défaut, Stream Analytics utilise l’heure à laquelle l’événement arrive à l’entrée comme horodatage, ou vous pouvez spécifier explicitement un autre champ DateTime à l’aide de la clause TIMESTAMP BY , comme illustré dans cet exemple. Selon l’entrée à partir de laquelle les données de streaming sont lues, un ou plusieurs champs d’horodatage potentiels peuvent être créés automatiquement ; Par exemple, lors de l’utilisation d’une entrée Event Hubs , un champ nommé EventEnqueuedUtcTime est généré pour enregistrer l’heure à laquelle l’événement a été reçu dans le hub d’événements.

Le champ utilisé comme horodatage est important lors de l’agrégation des données sur les fenêtres temporelles, qui est abordée ensuite.

Éditeur sans code

Si vous préférez créer votre travail de traitement de flux sans écrire SQL, Azure Stream Analytics inclut un éditeur sans code. Vous pouvez y accéder à partir du portail Azure Stream Analytics (préversion) ou du portail Azure Event Hubs. L’éditeur sans code fournit une zone de conception par glisser-déposer où vous connectez des sources d’entrée, ajoutez des transformations (y compris des agrégations de fenêtres temporelles telles que les fenêtres basculantes, les fenêtres glissantes et les fenêtres de session) et configurez des sorties, sans écrire de code. Pour plus d’informations, consultez Traitement de flux de code sans code dans Azure Stream Analytics.