24
Velocity Event Hub & Stream Analytics

Azure Stream analytics / Event Hub

Embed Size (px)

Citation preview

Page 1: Azure Stream analytics / Event Hub

Velocity

Event Hub & Stream

Analytics

Page 2: Azure Stream analytics / Event Hub

About me

• Directeur Technique chez Cellenza

• MVP Azure

• Microsoft P-Seller

Page 3: Azure Stream analytics / Event Hub

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

•« 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

• 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

• Architecture lambda ?

De quoi parle-t-on ?

Page 7: Azure Stream analytics / Event Hub

• 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

• 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

• Quels cas d’usage ?

Big Data + Temps réel

Page 10: Azure Stream analytics / Event Hub

• 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

Réponse Microsoft

Page 12: Azure Stream analytics / Event Hub

EventHub

Event Hub vs Topics / Queues

• Bus de messages

Topics / Queues Event Hub

Page 13: Azure Stream analytics / Event Hub

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

Publication de message .Net / AMQP

Page 15: Azure Stream analytics / Event Hub

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

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

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

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

Stream Analytics

Page 20: Azure Stream analytics / Event Hub

•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

•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

• 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

•Plusieurs sorties :• SELECT *

INTO outputLogFROM SensorReadings

• SELECT *INTO outputTempAlertFROM SensorReadingsWHERE temp > 75

Exemples de requêtes

Page 24: Azure Stream analytics / Event Hub

Merci pour votre attention !

Q&A