azure stream analytics / event hub
TRANSCRIPT
![Page 1: Azure Stream analytics / Event Hub](https://reader034.vdocuments.site/reader034/viewer/2022051101/5a64da387f8b9ac21c8b6e97/html5/thumbnails/1.jpg)
Velocity
Event Hub & Stream
Analytics
![Page 2: Azure Stream analytics / Event Hub](https://reader034.vdocuments.site/reader034/viewer/2022051101/5a64da387f8b9ac21c8b6e97/html5/thumbnails/2.jpg)
About me
• Directeur Technique chez Cellenza
• MVP Azure
• Microsoft P-Seller
![Page 3: Azure Stream analytics / Event Hub](https://reader034.vdocuments.site/reader034/viewer/2022051101/5a64da387f8b9ac21c8b6e97/html5/thumbnails/3.jpg)
Machine Learning
and Analytics
Big Data Stores
Action
People
Automated Systems
Apps
Web
Mobile
Bots
Intelligence
Dashboards &
Visualizations
Cortana
Bot
Framework
Cognitive
Services
Power BI
Information
Management
Data Catalog
Data Factory
HDInsight (Hadoop and Spark)
Stream Analytics
Intelligence
Data Lake
Analytics
Machine
Learning
SQL Data
Warehouse
Data Lake Store
Data Sources
Apps
Sensors and devices
Data
Big Data as part of Cortana IntelligenceMICROSOFT BIG DATA SOLUTIONS
Event Hubs
![Page 4: Azure Stream analytics / Event Hub](https://reader034.vdocuments.site/reader034/viewer/2022051101/5a64da387f8b9ac21c8b6e97/html5/thumbnails/4.jpg)
•« La meilleure façon de prédire le futur est de regarder le passé
et le présent ! »
Introduction• Pourquoi les architectures lambda ?
![Page 5: Azure Stream analytics / Event Hub](https://reader034.vdocuments.site/reader034/viewer/2022051101/5a64da387f8b9ac21c8b6e97/html5/thumbnails/5.jpg)
• Historiquement, le BigData est une suite logique de la B.I.
• Donc on a appliqué les techniques de la B.I. : Le Batch
• Ce n’est pas plus suffisant !
• Des flux de données à prendre en compte en temps-réel
• Des historiques très volumineux qui recèlent de la valeur
IntroductionPourquoi les architectures lambda ?
![Page 6: Azure Stream analytics / Event Hub](https://reader034.vdocuments.site/reader034/viewer/2022051101/5a64da387f8b9ac21c8b6e97/html5/thumbnails/6.jpg)
• Architecture lambda ?
De quoi parle-t-on ?
![Page 7: Azure Stream analytics / Event Hub](https://reader034.vdocuments.site/reader034/viewer/2022051101/5a64da387f8b9ac21c8b6e97/html5/thumbnails/7.jpg)
• La base de données classique :• Ex d’une action utilisateur (changement d’adresse) :
• Chaque update écrase des données précédentes !
Principe de baseArchitecture basée sur des données immuables
UPDATE
![Page 8: Azure Stream analytics / Event Hub](https://reader034.vdocuments.site/reader034/viewer/2022051101/5a64da387f8b9ac21c8b6e97/html5/thumbnails/8.jpg)
• Stockage immuable :• La mort de l’update, vive l’insert !
• Toute autre information peut être dérivée/reconstruite à partir de ces données brutes
Principe de base• Architecture basée sur des données immuables
![Page 9: Azure Stream analytics / Event Hub](https://reader034.vdocuments.site/reader034/viewer/2022051101/5a64da387f8b9ac21c8b6e97/html5/thumbnails/9.jpg)
• Quels cas d’usage ?
Big Data + Temps réel
![Page 10: Azure Stream analytics / Event Hub](https://reader034.vdocuments.site/reader034/viewer/2022051101/5a64da387f8b9ac21c8b6e97/html5/thumbnails/10.jpg)
• Prenons un scénario Exemple :• Site eCommerce / Retail
• Quels gains ?• Analyse temps réel des comportements,
• Calcul du Taux d’abandon de panier,
• Prévision de stock
• Détection de Fraude
• Analyse d’une campagne marketing
• Quels produits ne déclenchent pas d’achat ? Problème de stock ? De prix ?
ScénarioArchitecture Lambda
![Page 11: Azure Stream analytics / Event Hub](https://reader034.vdocuments.site/reader034/viewer/2022051101/5a64da387f8b9ac21c8b6e97/html5/thumbnails/11.jpg)
Réponse Microsoft
![Page 12: Azure Stream analytics / Event Hub](https://reader034.vdocuments.site/reader034/viewer/2022051101/5a64da387f8b9ac21c8b6e97/html5/thumbnails/12.jpg)
EventHub
Event Hub vs Topics / Queues
• Bus de messages
Topics / Queues Event Hub
![Page 13: Azure Stream analytics / Event Hub](https://reader034.vdocuments.site/reader034/viewer/2022051101/5a64da387f8b9ac21c8b6e97/html5/thumbnails/13.jpg)
Event Hub : Principe général
t
u
r
e
L
a
m
b
d
a
Event Producers
Azure Event Hub
> 1M Producers> 1GB/sec
Aggregate Throughput
Up to 32 partitions via portal, more on request
Part
itio
ns
Direct
PartitionKey
Hash
Consumer Group(s)
Receivers
AMQP 1.0
Credit-based flow control
Client-side cursors
Offset by Id or Timestamp
![Page 14: Azure Stream analytics / Event Hub](https://reader034.vdocuments.site/reader034/viewer/2022051101/5a64da387f8b9ac21c8b6e97/html5/thumbnails/14.jpg)
Publication de message .Net / AMQP
![Page 15: Azure Stream analytics / Event Hub](https://reader034.vdocuments.site/reader034/viewer/2022051101/5a64da387f8b9ac21c8b6e97/html5/thumbnails/15.jpg)
Données au repos
SELECT count(*) FROM ParkingLot
WHERE type = 'Auto'AND color = 'Red'
Question“Combien de voitures rouges dans le parking?”
Répondre avec une base de donnée relationnelleMarcher jusqu’au parking
Compter les véhicules qui sont: Rouge, Voiture
![Page 16: Azure Stream analytics / Event Hub](https://reader034.vdocuments.site/reader034/viewer/2022051101/5a64da387f8b9ac21c8b6e97/html5/thumbnails/16.jpg)
Données en mouvement
La question est différente“Combien de voitures rouges sont passées au marqueur 18A sur l’A-10 dans
la dernière heure?”
Répondre avec une base de donnée relationnelleS’arrêter, faire se garer toutes les voitures qui arrivent pendant l’heure dans un parking, les compter
Pas la meilleure des solutions…
![Page 17: Azure Stream analytics / Event Hub](https://reader034.vdocuments.site/reader034/viewer/2022051101/5a64da387f8b9ac21c8b6e97/html5/thumbnails/17.jpg)
L’avantage définitif
SELECT count(*) FROM A-10WHERE Type = ‘Voiture’ and Color = ‘Rouge’GROUP BY TumblingWindow(hour, 1)
La question est différente“Combien de voitures rouges sont passées au marqueur 18A sur l’A-10 dans
la dernière heure?”
![Page 18: Azure Stream analytics / Event Hub](https://reader034.vdocuments.site/reader034/viewer/2022051101/5a64da387f8b9ac21c8b6e97/html5/thumbnails/18.jpg)
Agrégation temporelle – SQL Like
TumblingWindow(minute,5) HoppingWindow(minute, 10 , 5)
SlidingWindow(minute, 3)
https://msdn.microsoft.com/fr-fr/library/azure/dn834998.aspx
![Page 19: Azure Stream analytics / Event Hub](https://reader034.vdocuments.site/reader034/viewer/2022051101/5a64da387f8b9ac21c8b6e97/html5/thumbnails/19.jpg)
Stream Analytics
![Page 20: Azure Stream analytics / Event Hub](https://reader034.vdocuments.site/reader034/viewer/2022051101/5a64da387f8b9ac21c8b6e97/html5/thumbnails/20.jpg)
•Agrégation simple :
• SELECT sensorId, MIN(temp) as tempFROM SensorReadingsTIMESTAMP BY timeGROUP BY sensorId, SlidingWindow(second, 5)HAVING MIN(temp) > 75
Exemples de requêtes
![Page 21: Azure Stream analytics / Event Hub](https://reader034.vdocuments.site/reader034/viewer/2022051101/5a64da387f8b9ac21c8b6e97/html5/thumbnails/21.jpg)
•Agréagation plusieurs flux :
• SELECT s1.time, s1.dspl, s1.hmdt as previousHmdt, s2.hmdt as newHmdt, datediff(ss, s1.time, s2.time) as secondsApart
FROM SensorData s1 timestamp by time
JOIN SensorData s2 timestamp by time
ON s1.dspl = s2.dspl
AND DATEDIFF(s, s1, s2) BETWEEN 0 AND 5
WHERE (s2.hmdt - s1.hmdt >= .1) or (s1.hmdt - s2.hmdt >= .1)
Exemples de requêtes
![Page 22: Azure Stream analytics / Event Hub](https://reader034.vdocuments.site/reader034/viewer/2022051101/5a64da387f8b9ac21c8b6e97/html5/thumbnails/22.jpg)
• Jointure avec table de référence :
• SELECT SensorReadings.sensorID, SensorReadings.tempFROM SensorReadingsJOIN thresholdRefDataON SensorReadings.sensorID = thresholdRefData.sensorIDWHERE SensorReadings.temp > thresholdRefData.value
Exemples de requêtes
![Page 23: Azure Stream analytics / Event Hub](https://reader034.vdocuments.site/reader034/viewer/2022051101/5a64da387f8b9ac21c8b6e97/html5/thumbnails/23.jpg)
•Plusieurs sorties :• SELECT *
INTO outputLogFROM SensorReadings
• SELECT *INTO outputTempAlertFROM SensorReadingsWHERE temp > 75
Exemples de requêtes
![Page 24: Azure Stream analytics / Event Hub](https://reader034.vdocuments.site/reader034/viewer/2022051101/5a64da387f8b9ac21c8b6e97/html5/thumbnails/24.jpg)
Merci pour votre attention !
Q&A