SlideShare une entreprise Scribd logo
1  sur  22
Télécharger pour lire hors ligne
HUG Grand Ouest #1, Rennes
Optimisation des vélos
en libre-service
30 septembre 2015
Franck Gallos
Adrien Pavie
2
Présentation Import Traitement Résultat
Vélo libre-service
v v
3
Présentation Import Traitement Résultat
Des limites
Rééquilibrage estimé
par expérience
Différence régulière offre/demande
Difficulté à prévoir la maintenance
~
≠
±
4
Présentation Import Traitement Résultat
Données variées
Météo
Vélos & GPS
Réseau de vélo existant
OpenStreetMap
v
5
Présentation Import Traitement Résultat
Objectif
v
Données DataSet
Point de départ
pour le data scientist
6
Présentation Import Traitement Résultat
Chaîne de traitement
Données
Hadoop/Hive
DataSet
Import
Traitement
7
Présentation Import Traitement Résultat
Types de données
Traditionnelles Géographiques
8
Présentation Import Traitement Résultat
Import des données
● CSV : OK
● Météo : OK
● OpenStreetMap : pas OK
Jusqu'à présent...
9
Présentation Import Traitement Résultat
Hive & Météo
SYNOP
06458 41/58 73315 10070 20047 40122 57012 76080 77521
333 86533 84365 85385=
10
Présentation Import Traitement Résultat
<osm version='0.6'>
<node id='1091' visible='true' lat='48.13' lon='1.65' />
<node id='1089' visible='true' lat='48.12' lon='1.66' />
<node id='1088' visible='true' lat='48.11' lon='1.67' />
<way id='1090' visible='true'>
<nd ref='1088' />
<nd ref='1089' />
<nd ref='1091' />
<nd ref='1088' />
<tag k='amenity' v='bench' />
</way>
</osm>
Hive & OpenStreetMap
Chemin
Noeuds
Dépendance
&
Structure
différente
Nécessite un
traitement particulier
11
Présentation Import Traitement Résultat
OSM2Hive
● Fonction d'import pour Hive
● Sous licence Apache 2.0
ADD JAR /path/to/osm2hive.jar;
CREATE TEMPORARY FUNCTION OSMImportNodes
AS 'info.pavie.osm2hive.controller.HiveNodeImporter';
CREATE TABLE osmdata(osm_content STRING) STORED AS TEXTFILE;
LOAD DATA LOCAL INPATH '/path/to/data.osm'
OVERWRITE INTO TABLE osmdata;
CREATE TABLE osmnodes
AS SELECT OSMImportNodes(osm_content) FROM osmdata;
Ajout Fonction
Fichier
OSM
Import
noeuds
12
Présentation Import Traitement Résultat
Traitement
Dataset
=
Données fusionnées
Requêtes de traitement
13
Présentation Import Traitement Résultat
Requête #1
● Différence du nombre de vélos entre
deux relevés
CREATE TABLE velo_usage_rownb AS
SELECT id, date, slots_avail, bike_avail,
ROW_NUMBER() OVER
(PARTITION BY id ORDER BY date ASC) as rownb
FROM velo_usage;
SELECT a.id, a.date, (a.bike_avail - b.bike_avail) AS diff_bike
FROM velo_usage_rownb a, velo_usage_rownb b
WHERE a.id == b.id
AND a.rownb == b.rownb + 1;
Numérotation
des relevés
Diff.
Vélos
14
Présentation Import Traitement Résultat
ESRI for Hadoop
Fonctions géospatiales
pour Hive
15
Présentation Import Traitement Résultat
Requête #2
● Longueur des pistes cyclables autour
des stations de vélos
Reconstruction
géométrie OSM
pistes cyclables
Zone tampon
autour des
stations de vélos
Pistes dans
zones tampons
Intersection
Longueur de pistes
autour de chaque
station de vélo
Agrégation
+ longueur
Requête de plus de 700 caractères
16
Présentation Import Traitement Résultat
Dataset obtenu
17
Présentation Import Traitement Résultat
Visualisation des relevés
18
Présentation Import Traitement Résultat
19
Présentation Import Traitement Résultat
20
Présentation Import Traitement Résultat
21
Conclusion
Innovation pour SmartCities
Données variées
= meilleure prévision
À venir : prévision météo
& véhicules connectés
λ-architecture
22
Merci pour votre attention !
To be continued...

Contenu connexe

Plus de Data2B

Smart Cities : le cycle de vie des données
Smart Cities : le cycle de vie des donnéesSmart Cities : le cycle de vie des données
Smart Cities : le cycle de vie des donnéesData2B
 
Data2breakfast - Introduction à la base de données NoSQL Apache Cassandra
Data2breakfast - Introduction à  la base de données NoSQL Apache CassandraData2breakfast - Introduction à  la base de données NoSQL Apache Cassandra
Data2breakfast - Introduction à la base de données NoSQL Apache CassandraData2B
 
Mettre en place une stratégie Data - 2
Mettre en place une stratégie Data - 2Mettre en place une stratégie Data - 2
Mettre en place une stratégie Data - 2Data2B
 
Survol de l'écosystème Hadoop
Survol de l'écosystème HadoopSurvol de l'écosystème Hadoop
Survol de l'écosystème HadoopData2B
 
Smart Cities: exemple de projet de mobilité intelligente
Smart Cities: exemple de projet de mobilité intelligenteSmart Cities: exemple de projet de mobilité intelligente
Smart Cities: exemple de projet de mobilité intelligenteData2B
 
La résolution de problèmes à l'aide de graphes
La résolution de problèmes à l'aide de graphesLa résolution de problèmes à l'aide de graphes
La résolution de problèmes à l'aide de graphesData2B
 
Vers une meilleure connaissance client grâce au big data
Vers une meilleure connaissance client grâce au big dataVers une meilleure connaissance client grâce au big data
Vers une meilleure connaissance client grâce au big dataData2B
 

Plus de Data2B (7)

Smart Cities : le cycle de vie des données
Smart Cities : le cycle de vie des donnéesSmart Cities : le cycle de vie des données
Smart Cities : le cycle de vie des données
 
Data2breakfast - Introduction à la base de données NoSQL Apache Cassandra
Data2breakfast - Introduction à  la base de données NoSQL Apache CassandraData2breakfast - Introduction à  la base de données NoSQL Apache Cassandra
Data2breakfast - Introduction à la base de données NoSQL Apache Cassandra
 
Mettre en place une stratégie Data - 2
Mettre en place une stratégie Data - 2Mettre en place une stratégie Data - 2
Mettre en place une stratégie Data - 2
 
Survol de l'écosystème Hadoop
Survol de l'écosystème HadoopSurvol de l'écosystème Hadoop
Survol de l'écosystème Hadoop
 
Smart Cities: exemple de projet de mobilité intelligente
Smart Cities: exemple de projet de mobilité intelligenteSmart Cities: exemple de projet de mobilité intelligente
Smart Cities: exemple de projet de mobilité intelligente
 
La résolution de problèmes à l'aide de graphes
La résolution de problèmes à l'aide de graphesLa résolution de problèmes à l'aide de graphes
La résolution de problèmes à l'aide de graphes
 
Vers une meilleure connaissance client grâce au big data
Vers une meilleure connaissance client grâce au big dataVers une meilleure connaissance client grâce au big data
Vers une meilleure connaissance client grâce au big data
 

Optimisation des vélos en libre service