96
Objets connectés, Big Data, Machine Learning

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

Embed Size (px)

DESCRIPTION

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

Citation preview

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

Objets connectés, Big Data, Machine Learning

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

Architecture Lambda

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

Architecture d’une partie des démos

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

Ingestion de la donnée (10’)

Thomas Conté - @tomconte

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

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

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

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

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

• 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

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

• 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

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

• 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

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

démonstration

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

Traitement « Temps réel » (20’)

Benjamin Guinebertière - @benjguin

Franck Mercier - @franmerms

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

Storm

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

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

• Architecture distribuée

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

Topologie de la démo

Parser

Tableau

de bord

HBase

Cassandra

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

démonstration

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

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

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

démonstration

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

Introduction à Stream Analytics

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

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

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

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

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

Introduction à Stream Analytics

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

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

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

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

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

Introduction à Stream Analytics

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

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

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

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

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

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

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

démonstration

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

Data Movement (20’)

Franck Mercier - @franmerms

Thomas Conté - @tomconte

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

Talend 5.6 supporte HDInsight

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

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

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

•Azure Blob Storage

• Connection

• Container management

• Storage (Put, Get, Delete, List)

Talend & Azure Blob Storage

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

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

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

Azure Data Factory

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

34

Data sources

Increasing data volumes

1

Real-time data

2

Non-Relational Data

New data sources & types

3

Cloud-born data

4

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

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

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

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

Page 37: Azure Camp 9 Décembre 2014 - slides session développeurs IOT Big 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

Page 38: Azure Camp 9 Décembre 2014 - slides session développeurs IOT Big 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

Page 39: Azure Camp 9 Décembre 2014 - slides session développeurs IOT Big 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

Page 40: Azure Camp 9 Décembre 2014 - slides session développeurs IOT Big Data
Page 41: Azure Camp 9 Décembre 2014 - slides session développeurs IOT Big Data

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)

Page 42: Azure Camp 9 Décembre 2014 - slides session développeurs IOT Big Data
Page 43: Azure Camp 9 Décembre 2014 - slides session développeurs IOT Big Data

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,

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

Batches et Hadoop (20’)

Thomas Conté - @tomconte

Benjamin Guinebertière - @benjguin

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

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

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

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

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

Qu’est-ce qu’Hadoop ?

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

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

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

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

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://

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

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

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

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)

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

HDInsight

Conteneur (wasb://)

client

VM

OS

Data

CacheVHD

VM

OS

Data

CacheVHD

(…)

Réplication HDFS

hdfs://

wasb://

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

démonstration

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

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é

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

HDP (Marketplace)

Conteneur (wasb://)VHD

VHD

VHD

client

VM

OS

Data

CacheVHD

VM

OS

Data

CacheVHD

VHD

VHD

VHD

(…)

Réplication HDFS

hdfs://

wasb://

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

démonstration

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

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

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

CDH (Marketplace)

VHD

client

VM

OS

Data

CacheVHD

VM

OS

Data

CacheVHD

VHD

(…)

Réplication HDFS

hdfs://

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

démonstration

Page 60: Azure Camp 9 Décembre 2014 - slides session développeurs IOT Big Data
Page 61: Azure Camp 9 Décembre 2014 - slides session développeurs IOT Big Data

noSQL (20’)

Benjamin Guinebertière - @benjguin

Franck Mercier - @franmerms

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

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

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

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, …

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

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

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

HBase

•Dans HDInsight• Type de cluster HDInsight: HBase

• Données dans blobs Azure

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

démonstration

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

Cassandra

•DataStax Enterprise disponible dans la marketplace Azure

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

DataStax Enterprise

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

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

Cassandra

•Déployable sur plusieurs Datacenters

•Exemple de topologie:

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

démonstration

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

Notebooks iPython dans Azure pour la Recherche scientifique

(10’)

Claude Martini, CEO Zeliade

(Pierre-Louis Xech)

Page 72: Azure Camp 9 Décembre 2014 - slides session développeurs IOT Big Data
Page 73: Azure Camp 9 Décembre 2014 - slides session développeurs IOT Big Data
Page 74: Azure Camp 9 Décembre 2014 - slides session développeurs IOT Big Data

Azure Camp

9 décembre 2014

Une plateforme collaborative pour la

recherche appliquée

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

Agenda

• IPython notebooks

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

•Architecture sur Azure

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

IPython notebooks

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

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)

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

Groups & Channels…

Page 79: Azure Camp 9 Décembre 2014 - slides session développeurs IOT Big Data
Page 80: Azure Camp 9 Décembre 2014 - slides session développeurs IOT Big Data

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,…)

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

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)

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

Join ZANADU

www.zanadu.io

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

Machine Learning (20’)

Franck Mercier - @franmerms

Benjamin Guinebertière - @benjguin

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

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

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

Apprentissage supervisé1. Car

2. Not Car

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

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

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

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

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

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

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

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

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

Etapes pour construire une solution de Machine Learning

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

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

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

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

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

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

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

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

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

démonstration

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