Upload
microsoft
View
934
Download
1
Embed Size (px)
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
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