Vous êtes sur la page 1sur 28

11/06/2020

BIG DATA: La question sur la vie privée

La question devient donc


« qui sait exploiter ces données,
et à quelles fins? »

BIG DATA: La question sur la vie privée

• Des exemples précis de collecte de données peuvent ne pas sembler


importants par eux-mêmes, mais lorsqu'ils sont agrégés, ils peuvent
créer une image complète d'une personne qui peut être
extrêmement nuisible aux personnes concernées, en particulier dans
les mains de tiers non autorisés.
• Aujourd’hui, le risque que les gens perdent le contrôle de leurs
propres données devient maximum.
11/06/2020

BIG DATA: La question sur la vie privée

BIG DATA: La question sur la vie privée

À noter cependant que des communautés de développeurs proposent des


solutions comme :
le « Privacy by Design » (construire la protection de la vie privée dans les
dispositifs dès le début) ;
le « Data Minimization » (selon le principe que les données qui ne sont pas
recueillies, ne peuvent pas tomber entre de mauvaises mains) ;
le « Notice and choice for unexpected uses » les personnes devraient
recevoir des avis clairs et simples sur la manière dont leurs données seront
utilisées avec un mécanisme de consentement.
Ces communautés sont motivées et leur slogan est : « Big Data and Big
Privacy: Yes, we can ».
11/06/2020

BIG DATA:
Ce qui change dans le cycle de développement
u Approche traditionnelle – le système est crée selon une demande
u Appropriée pour :
u Des données structurées
u Opérations et processus répétitifs
1 Le responsable métier définit
u Sources relativement stables
les besoins : Quelles
u Besoins bien compris et bien cadrés questions doit-on poser?

4 2
De nouvelles exigences IT conçoit une solution
nécessitent une nouvelle avec un ensemble de
conception et Construction structures et fonctionnalités

3
Le responsable métier exécute
les requêtes pour répondre aux
questions – encore et encore

BIG DATA:
Ce qui change dans le cycle de développement
u Approche Big Data – les données sont là, il faut les explorer
u Les sources guident la découverte
1

Le responsable métier et IT identifient


les sources de données disponibles

4
2
De nouvelles IT fournit une plateforme
idées conduisent qui permet une exploration
à l’intégration de créative de toutes les
technologies données disponibles
traditionnelles 3

Le responsable métier détermine les


questions à poser en explorant les
données et relations entre elles
11/06/2020

Hadoop 2 : Écosystème (1/2)

Hadoop 2 : Écosystème (2/2)


• Mahout : un système d'apprentissage
• Pig : un langage de haut niveau dédié à l'analyse de gros automatique et d'analyse de données. Il
implémente des algorithmes de classification
volumes de données. Il s'adresse aux développeurs habitués à
et de regroupement automatique (Machine
faire des scripts via Bash ou Python par exemple. Learning, DataMining).

• Hive : un système d'entrepôt de données (Data Warehouse)


• Flume : un service distribué, fiable et
pour Hadoop qui offre un langage de requête proche de SQL disponible pour collecter efficacement, agréger
pour faciliter les agrégations, le requêtage ad-hoc et et déplacer une grande quantité de logs.
l’analyse de gros volumes de données stockés dans des
systèmes de fichiers compatibles Hadoop. • Zookeeper : un service centralisé pour
maintenir les configurations, la
• Hbase : un système de gestion de base de données NoSQL nomenclature, pour fournir une
orienté colonnes. Il est distribué, scalable et dédié au big data synchronisation distribuée et des services
avec un accès direct et une lecture/écriture temps réel. groupés.

• Sqoop : un outil conçu pour transférer efficacement une • Oozie : un système de flux de travail
masse de données entre Apache Hadoop et un stockage de (workflow) dont l'objectif est de simplifier la
coordination et la séquence de différents
données structuré tel que les bases de données
traitements (programme Map/Reduce, scripts
relationnelles. Pig,…).
11/06/2020

Talend
Volume

Vitesse

Variété

Véracité

Valeur 5

KAFKA
11/06/2020

Big Data

FLUME

11

Big Data
FLUME
Il sert a récupérer les flux des données générer par les sites de e-commerce, les
réseaux sociaux, les webcrawlers (Un robot d'indexation) et les dispositifs IOT. Il
sont des données non- structures

Pourquoi Flume?
Normalement, il y a tellement de données traitées sur un cluster Hadoop, donc il y
aura des centaines à des milliers de grands serveurs produisant les données. De telles
données énormes essayant d'écrire en HDFS peuvent causer d'énormes problèmes.

Flume joue le rôle file d’attente dans le système Hadoop

12
11/06/2020

FLUME

sources, pour consommer les messages envoyés par une source externe (une application,
un script, un syslog, …).
channels, pour stocker les logs au niveau de l’agent
sinks, pour consommer les logs d’un channel par lot et les écrire sur une destination

13

Big Data
FLUME
Exemple simple
D’abord, créer un dossier « Source » dans votre système local:
Par exemple: /home/cloudera/Desktop/Source

Ensuite, créer un dossier « Sink » dans votre système HDFS:


Par exemple: /Sink

Créer le fichier SpoolingToHDFS.properties dans le répértoire « conf » du dossier de


l’installation de flume.

Sous Cloudera, vous créez le fichier dont le chemin est :


/etc/flume-ng/conf/SpoolingToHDFS.properties
Editer ce fichier par la commande:
sudo nano /etc/flume-ng/conf/SpoolingToHDFS.properties
14
11/06/2020

Big Data
FLUME
Exemple simple
Ecrire les propriétés suivantes dans le fichier:
Agent.sources=Source
Agent.sinks=Hdfs
Agent.channels=Channel

Agent.sources.Source.channels=Channel
Agent.sinks.Hdfs.channel=Channel

Agent.sources.Source.type=spooldir
Agent.sources.Source.spoolDir=/home/cloudera/Desktop/Source

Agent.sinks.Hdfs.type=HDFS
Agent.sinks.Hdfs.hdfs.path=/Sink
Agent.sinks.Hdfs.hdfs.filePrefix=events
Agent.sinks.Hdfs.hdfs.fileSuffix=.log
Agent.sinks.Hdfs.hdfs.fileType=DataStream

Agent.channels.Channel.type=file 78

Big Data
FLUME
Exemple simple
Démarrer flume par la commande:

flume-ng agent -f /etc/flume-ng/conf/SpoolingToHDFS.properties -n Agent

79
11/06/2020

Big Data
FLUME
Exemple2: avec NetCat
a1.sources = r1 NetCat.properties
a1.sinks = k1
a1.channels = c1
# Describe/configure the source
a1.sources.r1.type = netcat
a1.sources.r1.bind = localhost
a1.sources.r1.port = 44444
# Describe the sink
a1.sinks.k1.type = logger
# Use a channel which buffers events in memory
a1.channels.c1.type = memory
a1.channels.c1.capacity = 1000
a1.channels.c1.transactionCapacity = 100
# Bind the source and sink to the channel
a1.sources.r1.channels = c1
a1.sinks.k1.channel = c1
80

Big Data

Sqoop

18
11/06/2020

Big Data
Sqoop
C’est quoi Sqoop
Apache Sqoop est un outil conçu pour transférer efficacement des données entre
Apache Hadoop et des bases de données externes

19

Sqoop
C’est quoi Sqoop
Fondamentalement, Sqoop («SQL-to-Hadoop») est un outil de ligne de commande
simple. Il offre les capacités suivantes:

 Généralement, aide à importer des tables individuelles ou des bases de données


entières dans des fichiers dans HDFS
 Peut également générer des classes Java pour vous permettre d'interagir avec vos
données importées
 De plus, il offre la possibilité d'importer des bases de données SQL directement
dans votre entrepôt de données Hive .

20
11/06/2020

Sqoop
Commandes et syntaxe de base -Sqoop-Import-
La commande d'importation Sqoop importe une table d'un SGBDR vers HDFS.
Chaque enregistrement d'une table est considéré comme un enregistrement distinct
dans HDFS.
Importer une table dans HDFS
$ sqoop import --connect --table --username --password --target-dir

Exemple
sqoop import --connect "jdbc:mysql://192.168.56.1:3306/test" --table
"personne" --username root --password 1234 --target-dir /personnes --m 1

21

Sqoop
Commandes et syntaxe de base -Sqoop-Import-
Importation des données sélectionnées de la table
$ sqoop import --connect --table --username --password --columns --where

Exemple
sqoop import --connect "jdbc:mysql://192.168.56.1:3306/test" --table
"personne" --username root --password 1234 --columns id,nom --where "age<40" -
-target-dir /personnes --m 1

Importation de données à partir d'une requête


$ sqoop import --connect --table --username --password --query

Exemple
sqoop import --connect "jdbc:mysql://192.168.56.1:3306/test" --username root
--password 1234 --query 'select id,nom from personne where $CONDITIONS and
age>40' --target-dir /personnes --m 1
22
11/06/2020

Big Data
Sqoop
Commandes et syntaxe de base -Sqoop-Import-
Importation incrémentielles
sqoop import --connect jdbc:mysql://192.168.56.1:3306/test --username root -
-password 1234 --table personne --target-dir /personnes --m 1 --incremental
append --check-column id --last-value 2

Importer toutes les tables


sqoop import-all-tables --connect jdbc:mysql://192.168.56.1:3306/test
--username root --password 1234 --target-dir /personnes --m 1

167

Big Data
Sqoop
Commandes et syntaxe de base -Sqoop-Import-
Importation des données vers Hive
Exemple
sqoop import \
--connect "jdbc:mysql://192.168.56.1:3306/test"
--username root –P \
--table personne \
--target-dir /usr/hive/warehouse/maBase.db \
--fields-terminated-by "," \
--hive-import \
--create-hive-table \
--hive-table maBase.personne\
11/06/2020

Sqoop
Commandes et syntaxe de base -Sqoop-Import-
Importation des données vers Hbase
Exemple
sqoop import \
--connect "jdbc:mysql://192.168.56.1:3306/test" \
--table personne \
--hbase-table personne\
--hbase-row-key id\
--column-family metadata \
--hbase-create-table \
--username root -P

Big Data
Sqoop
Commandes et syntaxe de base -Sqoop-Export-
Exporter depuis HDFS
Exemple
sqoop export --connect jdbc:mysql://192.168.56.1:3306/test --table
personne --export-dir /sqoop/newstudent/part-m-00000
11/06/2020

Big Data

KAFKA

171

Spring Data
Kafka
Présentation
Apache Kafka est une plateforme de streaming qui bénéficie de trois
fonctionnalités:

Elle vous permet de publier et souscrire à un flux d'enregistrements. Elle


ressemble ainsi à une file de message ou un système de messaging
d'entreprise.
Elle permet de stocker des flux d'enregistrements d'une façon tolérante aux
pannes.
Elle vous permet de traiter (au besoin) les enregistrements au fur et à
mesure qu'ils arrivent.
11/06/2020

Spring Data
Kafka
Architecture de Kafka

Pour comprendre le fonctionnement de Kafka, il faut d'abord se


familiariser avec le vocabulaire suivant:
•Producer : tout système qui
envoie des données dans un ou
plusieurs topics
Kafka. (Publisher dans pub-sub)
•Consumer : tout système qui lit
des données dans un ou plusieurs
topics Kafka. (Subscriber dans
pub-sub)

Spring Data
Kafka
Installation sur Cloudera
Taper les commandes suivantes:
cd /etc/yum.repos.d
wget
http://archive.cloudera.com/kafka/redhat/6/x86_64/kafka/
sudo yum clean all
sudo yum install kafka
sudo yum install kafka-server
sudo service kafka-server start
11/06/2020

Spring Data
Kafka
Créer un topic
./kafka-topics.sh --create --zookeeper localhost:2181
--replication-factor 1 --partitions 1 --topic Tube
Lister les topics
./kafka-topics.sh --list --zookeeper localhost:2181
Démarrer Kafka
./kafka-server-start.sh ../config/server.properties

Spring Data
Kafka
Lancer deux fenêtres

Maintenant, ouvrez deux fenêtres de terminal. La première (à gauche) servira pour


l’envoi des messages, et la deuxième pour la réception.
11/06/2020

Spring Data
Kafka
Créer le producteur
Dans la fenêtre à gauche, taper la commande pour envoyer les messages vers le topic
(comme un buffer)
./kafka-console-producer.sh --broker-list localhost:9093 --topic Tube

Spring Data
Kafka
Créer le consommateur
Dans la fenêtre à droite, taper la commande de réception, ou plus précisément: la
commande qui lit le contenu du topic Tube
./kafka-console-consumer.sh --bootstrap-server localhost:9093 --topic Tube

Vous pouvez maintenant écrire des messages dans le producer et remarquer que
consumer est toujours synchronisé avec toute modification du topic.
Pour arrêter Kafka: ./kafka-server-stop.sh
11/06/2020

Spring Data
Kafka
Supprimer les topics
Supprimez les deux sujets en utilisant:
kafka-topics --zookeeper localhost:2181 --delete --topic test-topic
kafka-topics --zookeeper localhost:2181 --delete --topic replicated-topic

Spring Data
Kafka
Dépendance Java

<dependency>
<groupId>org.apache.kafka</groupId>
<artifactId>kafka-
clients</artifactId>
<version>0.9.0.1</version>
</dependency>
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-simple</artifactId>
<version>1.7.21</version>
</dependency>
11/06/2020

Spring Data
Kafka
Producteur en Java
public class SimpleProducer {
public static void main(String[] args) {
Properties p = new Properties();
p.setProperty(ProducerConfig.BOOTSTRAP_SERVERS_CONFIG, "192.168.56.102:9092");
p.setProperty(ProducerConfig.KEY_SERIALIZER_CLASS_CONFIG, StringSerializer.class.getName());
p.setProperty(ProducerConfig.VALUE_SERIALIZER_CLASS_CONFIG, StringSerializer.class.getName());
KafkaProducer<String, String> producer=new KafkaProducer<>(p);
ProducerRecord<String, String> record=new ProducerRecord<String, String>("Tube", "Bonjour");
producer.send(record);
producer.flush();
producer.close();
}
}

Spring Data
Kafka
Consommateur en Java
public class SimpleConsumer {
public static void main(String[] args) {
String bootstrapServers="192.168.56.102:9092";
Properties p=new Properties();
p.setProperty(ConsumerConfig.BOOTSTRAP_SERVERS_CONFIG,bootstrapServers);
p.setProperty(ConsumerConfig.KEY_DESERIALIZER_CLASS_CONFIG,StringDeserializer.class.getName());
p.setProperty(ConsumerConfig.VALUE_DESERIALIZER_CLASS_CONFIG,StringDeserializer.class.getName());
p.setProperty(ConsumerConfig.GROUP_ID_CONFIG,"app");

KafkaConsumer<String,String> consumer= new KafkaConsumer<String,String>(properties);


consumer.subscribe((Arrays.asList("Tube")));
while(true){
ConsumerRecords<String,String> records=consumer.poll(100);
for(ConsumerRecord<String,String> record: records){
System.out.println(record.value());
}
}
}}
11/06/2020

BIG DATA: Généralités


• PERSPECTIVES ET DOMAINES D ’APPLICATION

• Les perspectives d’utilisation de ces données sont énormes, notamment pour


l’analyse d’opinions politiques, de tendance industrielles, la génomique, la
lutte contre la criminalité et la fraude, les méthodes de marketing publicitaire
et de vente etc …

BIG DATA: Généralités


• Cas d’utilisation : Santé (1/2)
11/06/2020

BIG DATA: Généralités


• Cas d’utilisation : Santé (2/2)
• Analyse des données globales des patients et des résultats pour comparer l'efficacité des
différentes interventions.

• Analyse des résultats de santé d’une population pour prévoir les maladies et les
épidémies, savoir les causes environnementales et prendre les prévention nécessaire
dans les stages primaires.

• Déploiement de systèmes d'aide à la décision clinique pour améliorer l'efficacité et la


qualité des opérations.

• Télésurveillance des patients. La collecte de données pour les patients souffrants de


maladies chroniques et l'analyse des données résultant pour surveiller la conformité et
pour améliorer les futures options de médicaments et de traitement.

BIG DATA: Généralités


• Cas d’utilisation : Marketing (1/2)

• Plus d’intelligence pour plus de ventes.

• Analyse prédictive : En analysant l’historique des achats du client ou les fichiers Logs qui contiennent les
pages visitées, l’entreprise peut prévoir ce que le client cherche et les mettre dans les zones des offres et
publicités afin d’augmenter les achats.

• Analyse des sentiments : De Nombreuses sociétés utilisent les échanges sur les réseaux sociaux comme le
reflet de l’opinion publique. Celle-ci devient une nouvelle source d’informations en temps réel directement
fournie par le consommateur. Les questions d’e-réputation « à quoi est associée mon image ?
» ou « comment est accueilli le nouveau produit que je viens de lancer ? » peuvent être analysées avec ces
données. Le Big Data permet de mesurer l’impact de sa marque, savoir comment est perçue la société
par le public et anticiper les mauvaises critiques.
11/06/2020

BIG DATA: Généralités

• Cas d’utilisation : Marketing (2/2)

• Analyse des comportements : L’analyse du comportement des clients en


magasin permet d’améliorer l’aménagement du magasin, le mix produit et la
disposition des produits dans les rayons et sur les étagères. Les dernières
innovations ont également permis de suivre les habitudes d’achat (compter le
nombre de pas effectués et le temps passé dans chaque rayon du magasin),
géolocaliser en temps réel les clients,.... Les données issues des tickets de
caisse, captées depuis longtemps, peuvent maintenant être analysées et
révèlent les habitudes d’achat des clients.

BIG DATA: Généralités


• Cas d’utilisation : Analyse de tweets en temps réel
11/06/2020

BIG DATA: Généralités

• Cas d’utilisation : Politique

• L’analyse de Big Data a joué un rôle important dans la campagne de ré- élection de Barack Obama,
notamment pour analyser les opinions politiques de la population.

• Depuis l'année 2012, le Département de la défense américain investit annuellement sur les projets
de Big Data plus de 250 millions de dollars.

• Le gouvernement américain possède six des dix plus puissants supercalculateurs de la planète.

• La National Security Agency est actuellement en train de construire le Utah Data Center. Une fois
terminé, ce data center pourra supporter des yottaoctets d’information collectés par la NSA sur
internet.

• En 2014, SIGMA conseil a utilisé le Big Data pour donner l’estimation du


résultat de vote préliminaire en Tunisie.

BIG DATA: Généralités

• Cas d’utilisation : Sport (1/2)

 La première source de données recueillie s’appuie sur des capteurs intégrés


aux protège-tibias ou aux chaussures. Ces minuscules composants remontent
des informations biométriques sur les joueurs :
 la distance parcourue
 les vitesses en sprint
 les accélérations
 le nombre de ballons touchés
 le rythme cardiaque, etc.

 A terme et quand l’analyse en temps réel sera réellement possible, on peut très
bien imaginer qu’une alerte remonte lorsqu’un joueur fatigue afin que
l’entraîneur le remplace.
35
11/06/2020

BIG DATA: Généralités

• Cas d’utilisation : Sport (2/2)

 Une deuxième source de récolte de données provient de caméras installées en


hauteur autour du terrain. Tous les déplacements des joueurs et leurs positions
les uns par rapport aux autres sont ainsi filmés et enregistrés. Lors de son
débriefing, le tacticien peut ainsi comparer plusieurs fois par match la position
géométrique de son équipe au moment des temps forts, quand l’équipe se
montre offensive, s’ouvre des occasions et marque des buts.

 Le tacticien a également la capacité d’analyser le comportement de son équipe


en fonction de la réaction de l’équipe concurrente. Ces données peuvent
ensuite être agrégées avec d’autres sources telles que l’historique des matchs
joués ou les données recueillies pendant les entraînements.

BIG DATA: Généralités

• Cas d’utilisation : Sécurité publique (1/2)


 Aujourd’hui, avec le Big Data, la vidéosurveillance va beaucoup plus loin : elle permet d’analyser
automatiquement les images et les situations, de croiser les informations, et d’envoyer des alertes.

 Cette analyse de vidéo avancée est utilisée en particulier pour :


o la sécurité du trafic (routier, ferroviaire, maritime et aérien)
o la protection des espaces et des bâtiments publics
o la sécurité personnelle.

 Il est aujourd’hui possible à travers l’analyse des images vidéo de faire de :


o la reconnaissance d’objets et de mouvements
o la lecture de plaques minéralogiques
o la détection de véhicule non autorisé
o la reconnaissance faciale
o l’auto-surveillance avec possibilité de déclenchement d’alertes ou autres actions automatisées.
11/06/2020

BIG DATA: Généralités

• Cas d’utilisation : Sécurité publique (2/2)

A titre d’exemple la ville de Londres avait, quant à elle, mis en place un système de
reconnaissance faciale lors des jeux olympiques de 2012 organisés dans la capitale, afin de
lutter contre le terrorisme pour lequel l’alerte était à son maximum.

Domaines d’application

Cliquez pour modifier le style du titre


GESTION DE FLOTTE
Sécurité / Sureté

GESTION DE FOULE

BIOLOGIE
TRANSPORT 50 50
11/06/2020

Domaines d’application

Smart Trajectories : Big Data Analytics

Grands Domaines d’application

Ville intelligente - Smart City

Surveillance des risques


Risk monitoring

Logistique - Logistics

Applications qui dynamisent le commerce,


améliorent les services publics et attirent les
investissements.
Application permettant de se garer plus facilement
en collectant les informations sur les
emplacements de stationnement gratuits des villes.

Domaines d’application

Smart Trajectories : Big Data Analytics

Ville intelligente - Smart City

Gestion des Congestions

Audit des dessertes du


Transport public
11/06/2020

Domaines d’application

Smart Trajectories : Big Data Analytics


Surveillance des risques
Sécurité Piétons
Risk monitoring
Transport de
Matières
Dangereuses

Entrepôt de données spatio-


temporel et acheminement
stratégique du transport de
marchandises dangereuses par
route dans le cadre de la
Navigation sécurité
aéroport réglementation ADR
11/06/2020

Domaines d’application

Smart Trajectories : Big Data Analytics

Logistique - Logistics
Consommateurs
Espace de Vente

Near real-time big data


analytics for NFC-enabled
logistics trajectories

PROJET DE RECHERCHE FINANCÉ

Partenaire au projet CNRST dans les domaines prioritaires de la recherche scientifique et du


développement technologique. (Projet accepté en 2015)

Cliquez pour modifier le style du titre

Entrepôt de données
spatio-temporel et
Dipartimento di Informatica,
acheminement stratégique du
Bioingegneria, Robotica e Ingegneria dei transport de marchandises
Sistemi
dangereuses par route dans
le cadre de la réglementation
ADR
56

Vous aimerez peut-être aussi