Azure Camp 9 Décembre 2014 - slides session développeurs IOT Big Data

Preview:

DESCRIPTION

Deep Dive sur les nouveautés Big Data et Machine Learning

Citation preview

Objets connectés, Big Data, Machine Learning

Architecture Lambda

Architecture d’une partie des démos

Ingestion de la donnée (10’)

Thomas Conté - @tomconte

Azure Service Bus

Relay

Queue

Topic

Notification Hub

Event Hub

Service de traverse NAT / Firewall

Services Request/Response

Unbuffered ; TCP Throttling

Broker AMQP/HTTP Transactionnel

High-Scale, High-Reliability Messaging

Sessions, Scheduled Delivery, etc.

Distribution Transactionnelle de Messages

Up to 2000 souscriptions per Topic

Up to 2K/100K filter rules per subscription

High-scale notification distribution

Most mobile push notification services

Millions of notification targets

Concentrateur

d’évènements

Vue d’ensemble Azure Event Hubs

Producteurs d’évènements

> 1M Producers> 1GB/sec

Aggregate Throughput

Direct

PartitionKey

Hash

Throughput Units:

• 1 ≤ TUs ≤ Partition Count

• TU: 1 MB/s writes, 2 MB/s reads

AMQP 1.0

Credit-based flow control

Client-side cursors

Offset by Id or Timestamp

• Nombre élevé d’émetteurs• Intermittent, faible débit: HTTPS

• Permanent, haut débit: AMQP• Les connections permanentes AMQP sont

payantes, pas les requêtes HTTPS; le prix inclut un quota de connections AMQP

• On publie vers…• PartitionId

• Direct

• PartitionKey• PartitionKey qui implique un PartitionId

• Publisher Policy (<eh>/publishers/<name>)• <name> remplace PartitionKey

Publishers (Producteurs)

Event Producers

Direct

PartitionKey

Hash

• Une vue sur le flux d’évènements• Conceptuellement proche d’un

abonnement (Topics) dans le sens où ils offrent une « vue » du flux d’évènements

• Point de référence pour les checkpoints (votre responsabilité)

• Point de référence pour créer des récepteurs par partition

• Toujours un Consumer Group par défaut

• Jusqu’à 20 Consumer Groups

“Les récepteurs lisent via un Consumer Group”

Consumer Groups

• Lisent les partitions via le CG• En utilisant l’API .NET ou des librairies AMQP 1.0 (e.g. Apache

Proton-C/J)

• Curseurs (offsets) gérés par les clients (!= Queue/Topic)• Maximum de flexibilité dans la réception

• Peut être utilisé comme un historique d’évènements pour la durée de rétentions

• Non utilisable comme archive: la valeur des données brutes se détériore souvent rapidement

• Synchronisation entre flux: par timestamp

• Les checkpoints sont de la responsabilité des clients

• Support intégré d’un modèle d’élection via epochs pour les lecteurs

Consumers

Time

ID

démonstration

Traitement « Temps réel » (20’)

Benjamin Guinebertière - @benjguin

Franck Mercier - @franmerms

Storm

• Gestion de millions d’événements en temps réel

• Disponible dans Hadoop: HDInsight, HDP, CDH, MapR, Apache, …

• Architecture distribuée

Topologie de la démo

Parser

Tableau

de bord

HBase

Cassandra

démonstration

SignalR, d3js, Excel

• SignalR• Hub de communication bi-directionnel client/serveur Web• cf http://www.asp.net/signalr

• d3js• “D3.js is a JavaScript library for manipulating documents

based on data. D3 helps you bring data to life using HTML, SVG and CSS”

• http://d3js.org/

• Excel• How to: Create your first content app for Excel with "Napa"

Office 365 Development Tools

démonstration

Introduction à Stream Analytics

Ingère des millions d’évènements par secondes• Ingère et traite des données envoyées par des

applications/objets connectés

• Solution avec montée en charge intégrée

Traitement des données en continue• Transformer, enrichir, opérations temporelles

• Détection des patterns et des anomalies

Corrélation du flux de données avec des données de référence

Pas d’acquisition de matériel

Pas de maintenance

Pas d’expertise de déploiementInstallation et paramétrages via le portail Azure

Pas de logiciel à installer et à maintenir

Mise à l’échelle en fonction des besoins

Introduction à Stream Analytics

Fiabilité des traitementsGarantie d’aucune perte des évènements ou de sorties incorrectes

Préserve l’ordre des évènements par “device” d’entrées

Garantie de continuité de serviceGarantie de disponibilité : 99,9%

Reprise automatique en cas d’erreur

Bénéficie de l’élasticité du CloudMise à l’échelle en fonction des besoins

Gestion via le portail Azure

Architecture distribuée

Solution économiqueCoût calculé en fonction de l’usage

Possibilité d’ajuster en fonction des besoins

Provisionnez er démarrez une solution Stream Analytics pour 25$/Mois

Introduction à Stream Analytics

Création d’une solution de traitement en temps réel grâce à un langage proche du T-SQLFiltrer, agréger, joindre des flux de données avec quelques lignes de T-SQL

Fonctions temporelles nativement intégrées

Développer et maintenir une solution Stream Analytics via le portail Azure

Rapid DevelopmentDéveloppement rapide

Monitoring intégréSurveiller la performance de votre solution via le portail Azure.Accès aux journaux d’évènements

Vue d’ensemble de l’architecture

Data Source Collect Process ConsumeDeliver

Event Inputs- Event Hub

- Azure Blob

Transform- Temporal joins

- Filter

- Aggregates

- Projections

- Windows

- Etc.

Enrich

Correlate

Outputs- SQL Azure

- Azure Blobs

- Event Hub

BI

Dashboards

Predictive

Analytics

Azure

Storage

• Temporal Semantics

• Guaranteed delivery

• Guaranteed up time

Azure Stream Analytics

Reference Data- Azure Blob

démonstration

Data Movement (20’)

Franck Mercier - @franmerms

Thomas Conté - @tomconte

Talend 5.6 supporte HDInsight

Select Icons made by Freepik, Situ Herrera, www.flaticon.com

Talend Big Data

Studio

Talend Big Data

Legacy

Systems

ERP

Internet

of

Things

DBMS /

EDW

Ing

esti

on

NoSQL

Map Profile Parse Match

CleanseStandardiz

e

Change Data

Capture

Machine

Learning

Standard

Reports

Ad-hoc

Query Tools

Data

Mining

MDD/OLA

P

Analytical

Applications

Develop and Test Operations Team

Share ScheduleNoSQL

Web

Logs

NativeA

cc

es

s Future Proof

Architecture

Lowest TCO

Increased

Productivity

Benefits

•Azure Blob Storage

• Connection

• Container management

• Storage (Put, Get, Delete, List)

Talend & Azure Blob Storage

Microsoft Azure HD Insight (Talend 5.6)

•Microsoft Azure HDInsight

• New Hadoop Metadata for HDInsight

• Load and Extract Data to/from HDInsight

• Natively Run Map/Reduce jobs within HDInsight (ELT)

• No Talend server to run on the cluster

http://screencast.com/t/ImQzBPGXgB

Azure Data Factory

34

Data sources

Increasing data volumes

1

Real-time data

2

Non-Relational Data

New data sources & types

3

Cloud-born data

4

ETL Tool(SSIS, etc)

EDW(SQL Svr, Teradata, etc)

Extract

Original Data

Load

Transformed Data

Transform

BI Tools

Data Marts

Data Lake(s)

Dashboards

Apps

ETL Tool(SSIS, etc)

EDW(SQL Svr, Teradata, etc)

Extract

Original Data

Load

Transformed Data

Transform

BI Tools

Ingest (EL)

Original Data

Data Marts

Data Lake(s)

Dashboards

Apps

ETL Tool(SSIS, etc)

EDW(SQL Svr, Teradata, etc)

Extract

Original Data

Load

Transformed Data

Transform

BI Tools

Ingest (EL)

Original Data

Scale-out Storage & Compute

(HDFS, Blob Storage, etc)

Transform & Load

Data Marts

Data Lake(s)

Dashboards

Apps

Streaming data

ETL Tool(SSIS, etc)

EDW(SQL Svr, Teradata, etc)

Extract

Original Data

Load

Transformed Data

Transform

BI Tools

Ingest (EL)

Original Data

Scale-out Storage & Compute

(HDFS, Blob Storage, etc)

Transform & Load

Data Marts

Data Lake(s)

Dashboards

Apps

Streaming data

BI Tools

Data Marts

Data Lake(s)

Dashboards

AppsData Hub

(Storage & Compute)

Data Sources(Import From)

Move data among Hubs

Data Hub(Storage & Compute)

Data Sources(Import From)

Ingest

Connect & Collect Transform & Enrich PublishInformation Production:

Ingest

Move to data mart, etc

Azure Data Factory

Data Store

Compute(Transform & Copy)

Data Store

Compute(Transform & Copy)

Data Store

On Premises Hubs

Cloud Hubs SaaS Hubs(Salesforce.com, etc)

Orchestrate &Schedule

Manage & Monitor

Read&Write

Orchestrate & Schedule

Manage & Monitor

Compute(Transform & Copy)

Pipelines

DataSetActivity

DataSetActivity

DataSet

Power BI Data Catalog

BI | Apps | …

Find/Consume

Publish

Search/Publish

Consume

Orchestrate & Schedule

Manage & Monitor

Read&Write

IngestIngest Ingest

Data Sources(Twitter, Facebook,Sensors, S3, online CRM, etc)

Read&Write

Azure Data Factory

Une plateforme pour développer des services de récupérations et/ou

transformations de données, des services de stockage ou de mouvements de

données

Pipeline

Les pipelines sont soit des groupes de mouvements de données, soit de

transformations de données. Les pipelines acceptent N sources de données en

entrées et peuvent produire N jeux de données en sortie. Les pipelines peuvent

être exécutés en une seule fois ou sur des plages de temps (heure, jour,

semaine,…)

Dataset

Un Dataset est une vue nommée des données. Les données peuvent être de

sources très variées : Données binaires, semi-structurées (ex: CSV), des tables,…

Activité (Activity)

Une activité est une unité d’exécution dans laquelle le pipeline peut réaliser des

mouvements ou des transformations de données. Une activité peut

importer/exporter des données depuis de sources disparates utilisée par

l’entreprise vers un data hub

Data Hub

Un data hub est un jumelage d’un stockage de données avec un service de

calcul. Par exemple, un cluster Hadoop (Stockage HDFS, Hive/Pig pour le calcul)

est un data hub. De même, un data warehouse d’entreprise peut être conçu

comme un data hub (Base de données pour le stockage, ETL ou procédures

stockées pour le calcul)

Coordination:

• Rich scheduling

• Complex dependencies

• Incremental rerun

Authoring:

• JSON & Powershell/C#

Management:

• Lineage

• Data production policies (late data, rerun, latency, etc)

Hub: Azure Hub (HDInsight + Blob storage)

• Activities: Hive, Pig, C#

• Data Connectors: Blobs, Tables, Azure DB, On Prem SQL Server,

Batches et Hadoop (20’)

Thomas Conté - @tomconte

Benjamin Guinebertière - @benjguin

Azure Batch

• HPC / Big Compute• Exemples de scénarios: transcodage de média,

génération ou analyse d’images, build, tests, dynamique des fluides, simulations Monte Carlo, simulations (ingénierie)

HPC Pack

On-Premises

• On-premises clusters

• Ability to scale to

reduce runtimes

• Job scheduling and

mgmt via head node

• Reliability

HPC Pack

Hybrid

• Run on-premises, in

cloud, or both

• Reduced infrastructure

- use cloud for peaks

• Flexibility to manage

job run times

HPC Pack

IaaS

• All cloud

• Flexible configuration

• Flexible data

management

• Reduced infrastructure

• Still manually deploy

and manage VM’s

Azure Batch

PaaS

• All cloud

• Easy to use

• No deployment or

management

• Cater for small to very

large customers

• Complete elasticity

with auto-scale

• Improved control over

Pay-for-use

Azure Batch - Add Big Compute to a service

Azure Batch

Service

• Foundational batch processing

platform

• Avoid building infrastructure

VM Management & Job Scheduling

PaaS

Cloud Services

IaaS

Virtual Machines

Hardware

Voir session TechEd Europe sur le sujet:

http://channel9.msdn.com/Events/TechEd/Europe/2014/DBI-B216

Qu’est-ce qu’Hadoop ?

Source: http://fr.hortonworks.com/hdp/

Hadoop et Microsoft

•Microsoft est contributeur Hadoop

•Hortonworks Data Platform (HDP)• Sur Windows Server et Linux• Nœuds Hadoop dans Analytics Platform System• HDInsight (inclut le support y compris sur Hive par

exemple)• Azure Marketplace

•Cloudera distribution (CDH)• Azure Marketplace

•MapR, Apache, …• Sur des VMs Azure

Où sont les donnéesHadoop ?

Conteneur (wasb://)VHD

VHD

VHD

client

VM

OS

Data

CacheVHD

VM

OS

Data

CacheVHD

VHD

VHD

VHD

(…)

Réplication HDFS

hdfs://

wasb://

HDinsightH

DIn

sight

Blobs Azure HDFS

Hive Pig HCatalog AmbariMap/Reduce

Sq

oo

pO

ozi

e

Azure UX SDK AzureWebHcat/ Templeton

RDP

Storm

Yarn

HBase

Pourquoi HDInsight sur Azure ?

• Simple à déployer (portail, PowerShell, CLI, SDK)• Simple de suivre les évolutions d’Hadoop• Support de bout en bout

• On peut appeler pour une question sur Hive par exemple

• Accès aux blobs

•Nouveau: • Storm, HBase, • scripts de personnalisation (ex: Spark, R)

HDInsight

Conteneur (wasb://)

client

VM

OS

Data

CacheVHD

VM

OS

Data

CacheVHD

(…)

Réplication HDFS

hdfs://

wasb://

démonstration

Pourquoi Hortonworks sur Azure ?

•Déployable simplement avec l’assistant de la marketplace

• Comme HDInsight mais en Linux et sur des VMs

• Possible de modifier la configuration du cluster

•On peut arrêter / redémarrer le cluster et sa configuration• Vs recréation d’un cluster en HDInsight

• Accès aux blobs

• réversibilité

HDP (Marketplace)

Conteneur (wasb://)VHD

VHD

VHD

client

VM

OS

Data

CacheVHD

VM

OS

Data

CacheVHD

VHD

VHD

VHD

(…)

Réplication HDFS

hdfs://

wasb://

démonstration

Pourquoi Cloudera sur Azure ?

• Pour avoir une configuration identique à ce que vous avez déjà par ailleurs

•Déployable simplement avec l’assistant de la marketplace

• Possible de modifier la configuration du cluster

•On peut arrêter / redémarrer le cluster et sa configuration• Vs recréation d’un cluster en HDInsight

• Réversibilité

• Impala

CDH (Marketplace)

VHD

client

VM

OS

Data

CacheVHD

VM

OS

Data

CacheVHD

VHD

(…)

Réplication HDFS

hdfs://

démonstration

noSQL (20’)

Benjamin Guinebertière - @benjguin

Franck Mercier - @franmerms

Pourquoi noSQL ?

•Not only SQL

•Parce que c’est plus simple !• Ex: stocker un JSON dans Document DB ou MongoDB

•Montée en charge horizontale (scale out)• Vs relationnel == tout au même endroit

Quelques bases noSql

•Document DB: vue en début d’après-midi

•HBase

•Cassandra / DataStax Enterprise

•Et plein d’autres:• MongoBD, CouchDB, Riak, Redis, Memcached, …

Positionnement HBase/Cassandra

•Bases de données noSQL

•Orientées colonnes

Quelques critères HBase Cassandra / DataStax Entreprise

Intégration avec Hadoop Né dans Hadoop Il existe des connecteurs

Support éditeur Hortonworks, Cloudera, MapR

Microsoft (pour HDInsight)

DataStax

Architecture Bases de données en lecture /

écriture sur système de fichiers

« Write Once » (HDFS)

Pensé pour la lecture

Tous les nœuds jouent le même

rôle. Donnée stockée dans chaque

nœud et distribuée

Pensé pour l’écriture

Support du multi datacenter Par réplication de clusters Oui

SQL Oui via Phoenix, Hive, … CQL devient LE mode d’accès à

Cassandra

HBase

•Dans HDInsight• Type de cluster HDInsight: HBase

• Données dans blobs Azure

démonstration

Cassandra

•DataStax Enterprise disponible dans la marketplace Azure

DataStax Enterprise

•http://www.datastax.com/what-we-offer/products-services/datastax-enterprise

Cassandra

•Déployable sur plusieurs Datacenters

•Exemple de topologie:

démonstration

Notebooks iPython dans Azure pour la Recherche scientifique

(10’)

Claude Martini, CEO Zeliade

(Pierre-Louis Xech)

Azure Camp

9 décembre 2014

Une plateforme collaborative pour la

recherche appliquée

Agenda

• IPython notebooks

•Zanadu, une plateforme collaborative pour la recherche appliquée

•Architecture sur Azure

IPython notebooks

Zanadu…

•CMS de notebooks pour la recherche appliquée

•Plateforme COLLABORATIVE

•Sur Azure (Lauréat du 1er Grant Azure for Research, avec le lab GREGOR)

Groups & Channels…

Load Balancer

Zanadu App (Tornado, Web

Socket, IPython,…)

Zanadu App (Tornado, Web

Socket, IPython,…)

Zanadu App (Tornado, Web

Socket, IPython,…)

Zanadu App (Tornado, Web

Socket, IPython,…)

Code

•Python..

• ..R, Octave, Julia

•OCaml, Scala, FSharp, Scilab, CSharp,..

•Dans le même notebook!

• ‘Native’ literate programming

•Collaborative distributed library

•Calculs intensifs sur Azure (IPython Parallel)

Join ZANADU

www.zanadu.io

Machine Learning (20’)

Franck Mercier - @franmerms

Benjamin Guinebertière - @benjguin

Machine Learning• “The goal of machine learning is to build computer systems that can

adapt and learn from their experience.” (Tom Dietterich)

• Another definition: “The goal of machine learning is to program computers to use example data or past experience to solve a givenproblem.” (Introduction to Machine Learning, 2nd Edition, MIT Press)

• ML implique souvent 2 techniques primaires :• Apprentissage supervisé : trouver une correspondance entre les entrées et les sorties en

utilisant des valeurs correctes pour “entrainer” un modèle. Dans ce type d’apprentissage, les échantillons de données sont labélisés.

• Apprentissage non supervisé : touver des patterns dans les données d’entrées (similaire aux estimations de densité en statistiques). Les échantillons de données ne sont pas labelisés.

86

Apprentissage supervisé1. Car

2. Not Car

Apprentissage non supervisé

Exemple 1 exemple A Exemple 2 exemple B Exemple 3 exemple C

exemple A exemple B exemple C

Exemple 1 Exemple 2 Exemple 3

Machine Learning : préparation

gender age smoker eye color

male 19 yes green

female 44 yes gray

male 49 yes blue

male 12 no brown

female 37 no brown

female 60 no brown

male 44 no blue

female 27 yes brown

female 51 yes green

female 81 yes gray

male 22 yes brown

male 29 no blue

Bike buyer

no

yes

yes

no

no

yes

no

no

yes

no

no

no

male 77 yes gray

male 19 yes green

female 44 no gray

?

?

?

93

Machine Learning : préparation

gender age smoker eye color

male 19 yes green

female 44 yes gray

male 49 yes blue

male 12 no brown

female 37 no brown

female 60 no brown

male 44 no blue

female 27 yes brown

female 51 yes green

female 81 yes gray

male 22 yes brown

male 29 no blue

bike buyer

no

yes

yes

no

no

yes

no

no

yes

no

no

no

male 77 yes gray

male 19 yes green

female 44 no gray

?

?

?

Train ML Model

94

Machine Learning : préparation

gender age smoker eye color

male 19 yes green

female 44 yes gray

male 49 yes blue

male 12 no brown

female 37 no brown

female 60 no brown

male 44 no blue

female 27 yes brown

female 51 yes green

female 81 yes gray

male 22 yes brown

male 29 no blue

bike buyer

no

yes

yes

no

no

yes

no

no

yes

no

no

no

male 77 yes gray

male 19 yes green

female 44 no gray

yes

no

no

Train ML Model

95

Etapes pour construire une solution de Machine Learning

Les freins à l’adoption

• La « Data Science » reste trop complexe

• L’accès aux algorithmes de « machine learning » est trop cher

• Nécessité de maîtriser de nombreux outils pour réaliser une solution complète (acquisition des données, nettoyage, expérimentation,….)

• Capacité à mettre facilement un modèle en production

Réduire la complexité et favoriser la participation

Microsoft Azure Machine Learning

• Accessible depuis un navigateur Web, aucune installation nécessaire

• Solution collaborative. Création d’espaces de travail permettant un travail d’équipe depuis n’importe quel endroit

• Création d’expérimentations visuelles de bout en bout

• Solution extensible. Support de R OSS

Expérimentation simple et rapide à la recherche du meilleur modèle

Microsoft Azure Machine Learning

• Expérimenter un large panel de fonctionnalités et d’algorithmes

• Déploiement rapide des modèles

• Génération de codes d’utilisation des modèles.

• Déploiement via l’API d’Azure

Une solution de Machine Learning – des données aux résultats

ML Studio

and the Data Scientist

• Access and prepare data

• Create, test and train models

• Collaborate

• One click to stage for

production via the API service

Business users easily accessresults:from anywhere, on any device

HDInsight

Desktop Data

Azure Storage

Mobile AppsPowerBI/

DashboardsWeb Apps

ML API service and the Developer

• Tested models available as an url that can be called from any end point

Azure Portal & ML API service

and the Azure Ops Team

• Create ML Studio workspace

• Assign storage account(s)

• Monitor ML consumption

• See alerts when model is ready

• Deploy models to web service

démonstration