Big Data
Big Data
Département Licence
BIG DATA
Parcours
Licence 3 – Administration Bases de Données
Enseignants
Equipe pédagogique
BIG DATA
BIG DATA
1|P a ge
BIG DATA
Littéralement, nous pourrions le traduire par “mégadonnées”. Ce terme un peu vague désigne ainsi
une quantité massive de données, provenant de moult endroits : des SMS que nous envoyons, aux
signaux GPS, en passant par notre activité sur les réseaux sociaux et les transactions que nous
effectuons sur le net. La liste n’est pas exhaustive et c’est d’ailleurs pourquoi ces informations ont été
regroupées sous l’appellation de “Big Data”. En vérité, il est impossible de donner une définition
précise de ce concept, tant celui-ci s’avère complexe, polymorphe et sujet à diverses interprétations,
en fonction du secteur qui y fait référence.
En tout état de cause, les données sont utiles pour quantité de business, et ce, à de multiples échelles
: afin de les présenter à vos collaborateurs et à vos clients, afin d’élaborer de nouveaux produits et
services, ou encore afin de prendre des décisions d’ordre commercial.
De surcroît, le stockage d’informations est de plus en plus abordable. Le phénomène du big data a vu
le jour dans les années 1960, avec la création des tous premiers “data warehouses”. Dès lors, les choses
n’ont cessé d’aller crescendo, conformément au flux de données qui n’a cessé, lui aussi, de croître.
Aujourd’hui, les acteurs de l’économie savent que ces données peuvent être recueillies, grâce à de
nombreux outils (plateformes et applications, par exemple). Outils logiquement devenus
indispensables.
Comme nous l’avons vu précédemment, cet intérêt s’explique logiquement, en raison des multiples
bénéfices que l’analyse de données est en mesure d’apporter aux acteurs de l’économie (gain de
temps et optimisation des performances marketing et commerciales, notamment). Là où
2|P a ge
BIG DATA
Toutefois, il est également intéressant de noter que les principaux obstacles à l’adoption de tels
systèmes résident dans le manque de connaissances et d’outils. De fait, selon Gartner, 40% des tâches
de data science sont menées par des individus n’ayant justement pas de compétences spécifiques en
la matière. Comme souvent, dans le milieu de la technologie, le changement s’amorce cependant
rapidement. Aussi voit-on peu à peu poindre de nouvelles professions à l’image du data scientist ou
du data engineer. Ces data scientists, experts de cette science nouvelle qu’est la data analytics, ont
ainsi vocation à s’approprier enfin cette masse complexe, afin d’en optimiser l’usage. Des perles rares,
qui font d’ores et déjà la convoitise de nombreuses organisations.
Vous avez besoin d’intégrer, de gérer et/ou d’analyser des données en masse propres à votre activité.
Notre solution Datanalyz vous permet d’optimiser vos méthodes de travail et de reprendre le contrôle
de votre entreprise. N’hésitez plus et contactez Elipce pour vous informer et découvrir la puissance de
notre solution.
3|P a ge
BIG DATA
4. Assurer la sécurité
Les informations utiles aux entreprises pour définir leurs stratégies relèvent pour la plupart du
domaine privé. Elles proviennent en majorité des comptes utilisateurs et touchent de ce fait à la
relation de confiance liant l’entreprise à ses clients. De ce fait, leur sécurité a une importance
particulière, car elle engage la responsabilité et la réputation de l’enseigne. Le Règlement européen
sur la protection des données en Europe précise d’ailleurs que l’entreprise doit mettre en œuvre les
mesures de sécurité nécessaires pour éviter le traitement illégal ou la perte accidentelle des données
personnelles qui lui sont confiées.
Il s’agit en réalité de se baser sur le passé et le présent afin de prendre les bonnes décisions pour le
futur. Ceci peut se révéler très utile pour la croissance d’une entreprise, pour développer de nouveaux
produits ou pour trouver des solutions aux problèmes.
L’analyse de données est utilisée par les entreprises pour prendre de meilleures décisions grâce à la
Business Intelligence. Elle peut être exploitée dans le cadre d’une étude de marché, d’un
développement de produit, d’un positionnement sur le marché, ou encore pour passer en revue les
avis et sentiments de la clientèle.
Les données qualitatives sont constituées d'informations non statistiques et ont tendance à
être peu structurées. Il est catégorisé en fonction de divers identificateurs, plutôt que d'être
utilise pour générer des nombres durs pour la sortie. Les données qualitatives répondent
généralement aux questions de base et peuvent donner lieu à des questions plus spécifiques.
Les données quantitatives sont des données dures. Plus rigidement défini, il est statistique et
est généralement représente à l'aide de nombres et d'autres valeurs, ce qui en fait un candidat
plus prêt pour l'analyse des données.
4|P a ge
BIG DATA
On dénombre une large variété d’outils ” Big Data “. En guise d’exemple, on peut citer les langages de
programmation Python et R, les logiciels Talend et Apache Spark, ElasticSearch ou encore Microsoft
HDInsight.
Il existe différents types d’analyse de données. Voici les méthodes et techniques les plus couramment
utilisées :
L’analyse de texte permet de découvrir des tendances dans de larges ensembles de données
textuelles. On utilise des outils de Data Mining, permettant de transformer les données brutes
en informations stratégiques.
L’analyse statistique consiste à utiliser les données du passé pour comprendre le présent, sous
forme de tableaux de bord. Cette pratique regroupe la collecte, l’analyse, la présentation et la
modélisation des données.
On distingue l’analyse descriptive de l’analyse inférentielle. L’analyse descriptive consiste à
analyser des données numériques. L’analyse inférentielle consiste à analyser des échantillons
de données pour en tirer différentes conclusions.
L’analyse diagnostique, ou diagnostic analysis, consiste quant à elle à comprendre les causes
d’un événement découvert grâce à l’analyse statistique. Elle permet notamment d’identifier
des motifs de comportement dans les données afin de résoudre des problèmes similaires.
L’analyse prédictive permet quant à elle de déterminer les événements probables, de prédire
le futur grâce aux données du passé ou du présent. Ces données sont utilisées pour prédire les
probabilités futures. La fiabilité de ces prédictions dépend de la quantité d’informations à
disposition, de leur exactitude et de l’ampleur de leur exploration.
L’analyse prescriptive consiste quant à elle à combiner toutes les informations obtenues à
partir des précédentes analyses pour déterminer quelles mesures prendre pour résoudre un
problème ou prendre une décision.
Un processus de collecte de données approprié est très utile pour identifier les problèmes sur le terrain
et mettre en œuvre les bonnes solutions pour les résoudre.
Avant de parler des méthodes de collecte de données, nous devons examiner deux types de données:
Données qualitatives
Données quantitatives
Avant de commencer à collecter des données, vous devez d’abord déterminer si vous avez besoin de
collecter des données qualitatives, quantitatives ou mixtes.
La collecte de données quantitatives vise à collecter des données numériques (quantités et types, etc.).
La recherche qualitative, en revanche, est généralement utilisée pour obtenir des opinions sur certains
sujets ou pour apporter des éclaircissements supplémentaires au moyen de questions ouvertes.
5|P a ge
BIG DATA
DONNÉES QUANTITATIVES
Les données quantitatives doivent représenter des événements bien définis tels qu’un comptage (Ex:
combien d’éléments sont brisés ou combien d’animaux d’une certaine espèce ont été aperçus), des
questions avec des choix de réponses et des questions oui / non, etc.
DONNÉES QUALITATIVES
Les données qualitatives sont souvent utilisées dans la recherche exploratoire pour comprendre les
raisons, les opinions et les motivations dans des situations données. Les données qualitatives
fournissent des informations plus détaillées sur certains problèmes spécifiques. Les méthodes de
collecte de données qualitatives examinent les raisons sous-jacentes à la prise de décision.
Entretiens approfondis
Grâce à des entretiens approfondis, vous pouvez récupérer autant d’informations que possible en
demandant aux gens de répondre à des questions ouvertes.
Les entretiens en face à face peuvent être longs et coûteux, mais ils ont un taux de réponse très élevé.
Avec ce type d’entretiens, vous pouvez établir un rapport avec les répondants et avoir la possibilité de
clarifier leurs réponses.
Observations avancées
Les experts peuvent effectuer des observations avancées et fournir des commentaires au moyen
desquels ils peuvent partager leur expertise. Cela peut être utile pour mieux analyser les informations
recueillies.
Par exemple, lorsqu’il fait des observations sur l’état d’un équipement, un expert pourra donner plus
de détails sur les causes d’un bris ou d’une détérioration.
Les questionnaires doivent être structurés et normalisés afin de permettre aux gens d’y répondre
facilement et de minimiser les risques de données inexactes ou inutiles.
Tests ou expériences
Une autre façon de collecter des données quantitatives consiste à mesurer le nombre de personnes
qui ont réussi un test ou qui ont répondu correctement à une question (ou à un ensemble de
questions).
Lorsque vous effectuez des tests ou des expériences, il est important de vous assurer que vous notez
toutes les informations, telles que l’âge, la catégorie d’emploi, le niveau d’éducation, etc., des
participants.
6|P a ge
BIG DATA
Sondages
La réalisation de sondages en ligne est une autre méthode efficace lors de la collecte de données. Les
sondages peuvent être menés en ligne, par téléphone ou en personne. Les sondages téléphoniques
sont rentables et prennent moins de temps que les entretiens en face à face. Cependant, le taux de
réponse aux sondages téléphoniques est plus faible.
Les sondages en ligne sont peu coûteux et peuvent être envoyés à un grand nombre de personnes.
Observer, compter et enregistrer est une méthode simple qui est utilisée pour déterminer le nombre
de certains événements ou éléments.
Par exemple, cette méthode est utilisée pour compter le nombre de véhicules sur une route.
Formulaires papier
Cette méthode est encore utilisée mais elle disparaît rapidement. Elle est remplacée par les
applications puissantes, telles que Coral Collect, qui sont de plus en plus accessibles aux entreprises.
Le taux de réponse du questionnaire papier et l’exactitude des données collectées, sont bien inférieurs
à ceux des applications qui comportent généralement des champs de réponse obligatoires.
Questionnaires en ligne
Les questionnaires Internet / enquêtes en ligne sont des outils de collecte de données moins coûteux
et plus rapides.
Cependant, seules les personnes ayant accès à des ordinateurs et à Internet pourront utilisées cette
méthode. Néanmoins, les sondages en ligne sont un excellent moyen d’atteindre et d’interagir avec
votre public cible car le taux de réponse est élevé. Avec les questionnaires en ligne, vous pouvez
générer des résultats en temps réel pour une analyse rapide et facile.
Les applications mobiles sont de plus en plus populaires car elles offrent des moyens innovants de
collecter et gérer des données. Vous passerez moins de temps à collecter des données avec une
application mobile de collecte de données. De plus, les erreurs seront considérablement réduites et
vous pourrez collecter des types de données enrichies tels que des photos, des vidéos, des
coordonnées GPS, etc.
Les enquêtes mobiles sont également faciles à administrer et plus polyvalentes que les enquêtes en
ligne, car elles permettent aux répondants d’envoyer des photos, d’enregistrer leur voix ou de prendre
des notes à l’aide de leur smartphone.
7|P a ge
BIG DATA
aux différents systèmes d’information de l’entreprise, ce qui donne l’opportunité à tous les
collaborateurs de s’en saisir et de parler le même langage « data ».
La mise en œuvre de cette carte concerne donc aussi bien les Data Scientists que les responsables
informatiques au sein des services métiers, moins experts en la matière.
L’outil sémantique consiste à recenser les métadonnées des données et des objets métier
propres à l’entreprise dans un glossaire métier, afin d’optimiser la compréhension et le
contexte de la data pour tous.
Les modèles de données apportent des précisions sur la façon dont les données sont
modélisées et stockées dans les différents systèmes (structurées, semi structurées ou non
structurées). Un autre outil lui est consubstantiel : le dictionnaire des données techniques.
L’outil de design des traitements des flux de données vient, quant à lui, fournir des
informations importantes sur les méthodes de transformation, de manipulation et de
traitement des données à travers les différents SI de l’entreprise.
Pour réussir dans cette nouvelle ère, toutes les entreprises ont besoin d’avoir une vision complète de
leurs données et des informations en temps réel pour pouvoir passer à l’action sans délai.
Source de données (data mart, data warehouse, cloud, base de données hybride)
Stockage (magasin de données, data lake)
Batch processing (traitement par lots)
Stream processing (traitement de flux de data)
Préparation de données
Data catalog
Modélisation de données
Technologie d’orchestration
En fonction du type d’architecture choisi et adopté, certaines de ces composantes seront absentes,
mutualisées ou combinées dans la structure.
Il existe 2 principaux types d’architecture Big Data : Lambda et Kappa. Chacune de ces architectures
permet de répondre à un besoin spécifique. Le choix du modèle architectural le plus adapté à votre
stratégie dépend de vos besoins, de vos infrastructures existantes, de vos objectifs et de votre contexte
métier.
8|P a ge
BIG DATA
Dans tous les cas, lorsque l’on souhaite mener des projets data-driven (gouverné par la donnée), il faut
avoir en tête que c’est une architecture distribuée qui doit être implémentée pour considérer les
problèmes de scalabilité, de performance et de synchronisation des différentes couches.
La plupart des architectures Big Data incluent tout ou partie des composants suivants :
Sources de données. Toutes les solutions Big Data commencent par une ou plusieurs sources
de données. Les exemples comprennent :
Les magasins de données d'application, tels que les bases de données relationnelles.
Fichiers statiques produits par les applications, tels que les fichiers journaux du serveur Web.
Stockage de données. Les données pour les opérations de traitement par lots sont
généralement stockées dans un magasin de fichiers distribué qui peut contenir des volumes
élevés de fichiers volumineux dans divers formats. Ce type de magasin est souvent appelé
un lac de données. Les options d'implémentation de ce stockage incluent Azure Data Lake
Store ou des conteneurs d'objets blob dans Azure Storage.
Traitement par lots. Étant donné que les ensembles de données sont si volumineux, une
solution Big Data doit souvent traiter des fichiers de données à l'aide de tâches par lots de
longue durée pour filtrer, agréger et préparer les données pour l'analyse. Ces tâches
impliquent généralement la lecture des fichiers source, leur traitement et l'écriture de la sortie
dans de nouveaux fichiers. Les options incluent l'exécution de tâches U-SQL dans Azure Data
Lake Analytics, l'utilisation de tâches Hive, Pig ou Map/Reduce personnalisées dans un cluster
HDInsight Hadoop, ou l'utilisation de programmes Java, Scala ou Python dans un cluster
HDInsight Spark.
Ingestion de messages en temps réel. Si la solution comprend des sources en temps réel,
l'architecture doit inclure un moyen de capturer et de stocker les messages en temps réel pour
le traitement des flux. Il peut s'agir d'un simple magasin de données, où les messages entrants
sont déposés dans un dossier pour traitement. Cependant, de nombreuses solutions ont
besoin d'un magasin d'ingestion de messages pour servir de tampon pour les messages et pour
prendre en charge le traitement évolutif, la livraison fiable et d'autres sémantiques de mise en
9|P a ge
BIG DATA
file d'attente de messages. Cette partie d'une architecture de streaming est souvent appelée
mise en mémoire tampon de flux. Les options incluent Azure Event Hubs, Azure IoT Hub et
Kafka.
Traitement de flux. Après avoir capturé les messages en temps réel, la solution doit les traiter
en filtrant, en agrégeant et en préparant les données pour l'analyse. Les données de flux
traitées sont ensuite écrites dans un récepteur de sortie. Azure Stream Analytics fournit un
service de traitement de flux géré basé sur des requêtes SQL en cours d'exécution perpétuelles
qui fonctionnent sur des flux illimités. Vous pouvez également utiliser des technologies de
streaming Apache open source telles que Storm et Spark Streaming dans un cluster HDInsight.
Magasin de données analytiques. De nombreuses solutions Big Data préparent les données
pour l'analyse, puis servent les données traitées dans un format structuré qui peut être
interrogé à l'aide d'outils analytiques. Le magasin de données analytiques utilisé pour
répondre à ces requêtes peut être un entrepôt de données relationnelles de style Kimball,
comme on le voit dans la plupart des solutions de business intelligence (BI)
traditionnelles. Alternativement, les données peuvent être présentées via une technologie
NoSQL à faible latence telle que HBase, ou une base de données Hive interactive qui fournit
une abstraction de métadonnées sur les fichiers de données dans le magasin de données
distribué. Azure Synapse Analytics fournit un service managé pour l'entreposage de données
à grande échelle dans le cloud. HDInsight prend en charge Interactive Hive, HBase et Spark
SQL, qui peuvent également être utilisés pour fournir des données à des fins d'analyse.
Analyse et rapport. L'objectif de la plupart des solutions Big Data est de fournir des
informations sur les données par le biais d'analyses et de rapports. Pour permettre aux
utilisateurs d'analyser les données, l'architecture peut inclure une couche de modélisation des
données, telle qu'un cube OLAP multidimensionnel ou un modèle de données tabulaire dans
Azure Analysis Services. Il peut également prendre en charge la BI en libre-service, en utilisant
les technologies de modélisation et de visualisation de Microsoft Power BI ou Microsoft
Excel. L'analyse et le reporting peuvent également prendre la forme d'une exploration
interactive des données par des data scientists ou des analystes de données. Pour ces
scénarios, de nombreux services Azure prennent en charge les blocs-notes analytiques, tels
que Jupyter, permettant à ces utilisateurs de tirer parti de leurs compétences existantes avec
Python ou R. Pour l'exploration de données à grande échelle, vous pouvez utiliser Microsoft R
Server, de manière autonome ou avec Spark.
Orchestration. La plupart des solutions Big Data consistent en des opérations de traitement
de données répétées, encapsulées dans des workflows, qui transforment les données source,
déplacent les données entre plusieurs sources et récepteurs, chargent les données traitées
dans un magasin de données analytiques ou envoient les résultats directement dans un
rapport ou un tableau de bord. Pour automatiser ces workflows, vous pouvez utiliser une
technologie d'orchestration telle qu'Azure Data Factory ou Apache Oozie et Sqoop.
10 | P a g e
BIG DATA
Les avantages apportés aux entreprises par Hadoop sont nombreux. Grâce à ce framework logiciel, il
est possible de stocker et de traiter de vastes quantités de données rapidement. Face à
l’augmentation en hausse du volume de données et à leur diversification, principalement liée aux
réseaux sociaux et à l’internet des objets, il s’agit d’un avantage non négligeable.
De même, le modèle de calcul distribué d’Hadoop permet de traiter rapidement le Big Data. Plus le
nombre de nœuds de calcul utilisés est important, plus la puissance de traitement est élevée. Les
données et les applications traitées sont protégées contre les échecs hardware. Si un nœud tombe
en panne, les tâches sont directement redirigées vers d’autres nœuds pour s’assurer que le calcul
distribué n’échoue pas. De multiples copies de toutes les données sont stockées automatiquement.
Contrairement aux bases de données relationnelles traditionnelles, il est inutile de traiter les
données au préalable avant de les stocker. Il est possible de stocker autant de données que vous le
souhaitez et décider plus tard de la manière de les utiliser. Ceci regroupe les données non structurées
comme le texte, les images et les vidéos.
Le framework open source est donc gratuit et repose sur des machines standards pour stocker de
larges quantités de données. Enfin, il est possible d’adapter le système pour prendre en charge plus
de données en ajoutant simplement des nœuds. L’administration requise est minimale.
Le noyau d'Hadoop est constitué d'une partie de stockage : HDFS (Hadoop Distributed File System),
et d'une partie de traitement appelée MapReduce. Hadoop fractionne les fichiers en gros blocs et les
distribue à travers les nœuds du cluster. Pour traiter les données, il transfère le code à chaque nœud
et chaque nœud traite les données dont il dispose. Cela permet de traiter l'ensemble des données plus
rapidement et plus efficacement que dans une architecture supercalculateur plus classique qui repose
sur un système de fichiers parallèle où les calculs et les données sont distribués via les réseaux à grande
vitesse.
Hadoop Common ;
Hadoop Distributed File System (HDFS), système de fichiers ;
Hadoop YARN ;
Hadoop MapReduce ;
Le HDFS est un système de fichiers distribué, extensible et portable développé par Hadoop à partir
du GoogleFS. Écrit en Java, il a été conçu pour stocker de très gros volumes de données sur un grand
nombre de machines équipées de disques durs banalisés. Il permet l'abstraction de l'architecture
physique de stockage, afin de manipuler un système de fichiers distribué comme s'il s'agissait d'un
disque dur unique.
Une architecture de machines HDFS (aussi appelée cluster HDFS) repose sur deux types de composants
majeurs :
11 | P a g e
BIG DATA
NameNode
DataNode
nœud de données, ce composant stocke et restitue les blocs de données. Lors du processus de lecture
d'un fichier, le NameNode est interrogé pour localiser l'ensemble des blocs de données. Pour chacun
d'entre eux, le NameNode renvoie l'adresse du DataNode le plus accessible, c'est-à-dire
le DataNode qui dispose de la plus grande bande passante. Les DataNodes communiquent de manière
périodique au NameNode la liste des blocs de données qu'ils hébergent. Si certains de ces blocs ne
sont pas assez répliqués dans le cluster, l'écriture de ces blocs s'effectue en cascade par copie sur
d'autres.
12 | P a g e
BIG DATA
Plus généralement, MapReduce simplifie grandement la vie du développeur Hadoop, en lui masquant
une bonne partie du fonctionnement interne de Hadoop.
Spark est un outil permettant de faire du traitement de larges volumes de données, et ce, de manière
distribuée (cluster computing). Le framework offre un modèle de programmation plus simple que celui
d’Hadoop et permet des temps d’exécution jusqu’à 100 fois plus courts.
Apache Storm est un framework de calcul de traitement de flux distribué, écrit principalement dans le
langage de programmation Clojure. Créé à l'origine par Nathan Marz et l'équipe de BackType le projet
est rendu open source après avoir été acquis par Twitter. Il utilise des "spouts" et des "bolts" créés sur
mesure pour définir les sources d'informations et les manipulations permettant un traitement par lots
et distribué des données en continu. La première publication a eu lieu le 17 septembre 2011.
Pour traiter en continu un ou plusieurs flux de données, Storm repose sur la définition d’une topologie.
Une topologie prend la forme d’un graphe orienté acyclique dans lequel :
Les Streams, symbolisés par les arcs, sont des séquences illimitées de Tuples. Un tuple est une
liste de valeurs nommées qui représente le modèle de données utilisé par Storm.
Les Spouts, nœuds racine du graphe, désignent les sources de streams. Il peut s’agir par
exemple d’une séquence de tweets émis via l’API Twitter, d’un flux de logs ou encore de
données lues directement depuis une base de données.
13 | P a g e
BIG DATA
Et enfin, les Bolts sont les nœuds qui consomment ces séquences de tuples émis par un ou
plusieurs nœuds. Ils ont pour rôle de réaliser différentes opérations (filtres, agrégations,
jointures, lecture/écriture vers et depuis une base de données, etc.) et si besoin d’émettre à
leur tour une nouvelle séquence de tuples.
Parmi les plus populaires, Apache Hive est une Data Warehouse dédiée au traitement de larges
ensembles de données stockés dans le HDFS. L’outil Zookeeper automatise les basculements et réduit
l’impact d’une panne de NameNode.
De son côté, HBase est une base de données non relationnelle pour Hadoop. Le service distribué
Apache Flume permet le streaming de données de larges quantités de données de log.
Citons aussi Apache Sqoop, un outil de ligne de commande permettant la migration de données entre
Hadoop et les bases de données relationnelles. La plateforme de développement Apache Pig permet
le développement de jobs à exécuter sur Hadoop.
Le système de planification Apache Oozie facilite la gestion des jobs Hadoop. Enfin, HCatalog est un
outil de gestion de tableau pour trier les données en provenance de divers systèmes de traitement.
14 | P a g e
BIG DATA
En ce qui concerne les data scientists, il s’agira plutôt d’outils plus focalisés sur le développement
d’applications de machine learning, avec Python, R, Jupiter, TensorFlow, Pandas, etc. Évidemment la
frontière n’est pas totalement nette entre les deux profils et il peut donc être difficile de savoir ce qui
différencie le Data Engineer du Data Scientist.
Talend Big Data Integration est un outil dédié aux projets comportant des problématiques liées au Big
Data :
En version gratuite, seul le studio est disponible. La version payante de l'outil vous offre les éléments
suivants :
Travail collaboratif
Gestion de version des ressources
Déploiement, planification et supervision des flux des données industralisée
Connecteurs complémentaires dans le studio (Spark, Machine Learning notemment)
La mise en place de flux Big Data est réalisée par l'utilisation de composants paramétrables connectés
entre eux.
Chaque composant portera la responsabilité d'une partie du flux : connexion à un serveur, extraction,
transformation et écriture des données.
L'outil studio est une application lourde permettant la définition des flux de données. Cet outil est
découpé en zones de travail ayant un rôle précis.
15 | P a g e
BIG DATA
QlikView est une plateforme permettant d’analyser des données Big Data pour les transformer en
informations exploitables. Grâce à sa technologie Associative Différence, cette plateforme permet aux
entreprises de gagner un temps précieux. Découvrez tout ce que vous devez savoir à son sujet.
Tableau : Tableau est une solution Business Intelligence (BI) de reporting éditée par la société Tableau
Software, récemment rachetée par Salesforce permettant d’obtenir des visualisations détaillées et
significatives.
Tableau permet de créer des dashboards de façon intuitive et visuelle mais également d’effectuer
des analyses efficaces en les publiant de façon dynamique.
Tableau est un outil de restitution qui simplifie l'analyse pour les utilisateurs et restitue
efficacement l’information.
La solution possède 5 modules : Tableau Desktop, Tableau Reader, Tableau Server, Tableau Online et
Tableau Public.
Tableau Reader permet de visualiser les dashboards en local, tandis que Tableau Online interagit avec
les tableaux de bord en mode web, diffusés et partagés grâce à Tableau Server.
Les tableaux de bords peuvent être visualisés en ligne via un navigateur web ou mobile (portable ou
tablette tactile).
Enfin, Tableau Public permet de se connecter à n’importe quelle source de données et de créer des
visualisations de données interactives pour votre site web.
16 | P a g e
BIG DATA
En effet, le principe de fonctionnement de Hadoop est assez simple, il consiste à répartir l’exécution
d’un traitement sur plusieurs nœuds.
Les traitements de données peuvent se faire si elles sont stockées dans un système de fichiers (non
structuré) ou dans une base de données (structurée). MapReduce peut profiter de la localité des
données, en la traitant près de l’endroit où elle est stockée afin de réduire la distance sur laquelle elle
doit être transmise.
1. La première étape dans l'écriture de la requête consiste à définir la base de données dans
laquelle sera stockée la table de référence dans le catalogue, HCatalog. HCatalog possède une
base « default » qui est utilisée par défaut pour le stockage des métadonnées. L'instruction
suivante définit la base de données de catalogue : USE default ;
2. La deuxième étape consiste à créer une table intermédiaire dans la base de catalogue. Cette
table va pointer vers les données de tous les fichiers sources que vous voulez traiter. Pour ce
faire, vous utiliserez une instruction CREATE TABLE.
17 | P a g e
BIG DATA
Dans le cas de notre exemple, cette instruction crée une table log_clients contenant toutes les
colonnes du fichier source. L'instruction ROW FORMAT DELIMITED FIELDS TERMINATED BY permet de
préciser le code ANSI du séparateur de colonnes (la tabulation dans notre cas) dans le fichier source,
et l'instruction STORED AS permet de spécifier le format sur lequel le fichier est sérialisé dans le HDFS
(ici c'est un fichier plat classique).
3. La troisième étape consiste à charger les données du HDFS dans la table intermédiaire. Le
chargement de données du HDFS se fait à l'aide de l'instruction LOAD DATA.
4. La quatrième étape consiste à construire la table dont vous avez besoin pour vos analyses.
Cette fois, vous devez spécifier à partir de la table intermédiaire les calculs nécessaires pour
obtenir les colonnes dont vous avez besoin. Supposons dans notre exemple que nous voulons
les colonnes suivantes :
La colonne « Noms du client », obtenue par concaténation des colonnes « nom_client » et
« prenom_client » ;
La colonne « Sexe », obtenue par l'extraction de la première lettre de la colonne
« genre » ;
La colonne « age_client », obtenue par différentiel de date entre la colonne
« date_naissance » et la date d'aujourd'hui ;
La colonne « vente », obtenue par multiplication des colonnes « prix » et « quantité » ;
18 | P a g e
BIG DATA
5. La dernière étape enfin, consiste à effectuer vos analyses sur la table que vous venez de créer.
Pour ce faire, vous utiliserez une instruction SELECT classique. Supposons que dans notre
exemple, nous souhaitons obtenir la somme des ventes par genre des clients qui ont entre 25
et 30 ans. Nous obtiendrons la requête suivante :
L’architecture Apache Pig repose sur deux composants principaux : le langage Pig Latin et
l’environnement runtime permettant l’exécution des programmes PigLatin.
Le langage Pig Latin permet d’écrire des programmes d’analyse de données. Il délivre divers
opérateurs que les programmeurs peuvent utiliser pour développer leurs propres fonctions pour lire,
écrire ou traiter des données.
Un programme Pig Latin est composé d’une série de transformations ou d’opérations, appliquées aux
données ” input ” (entrée) pour produire un ” output “. Ces opérations décrivent un flux de données
traduit en une représentation exécutable par l’environnement d’exécution Hadoop Pig.
Pour analyser des données en utilisant Apache Pig, les programmeurs doivent impérativement écrire
des scripts avec le langage Pig Latin. Tous ces scripts sont convertis en tâches Map et Reduce de façon
interne. Le composant Pig Engine se charge de convertir les scripts en jobs MapReduce.
Toutefois, le programmeur n’a même pas connaissance de ces jobs. C’est ainsi que Pig permet aux
programmeurs de se concentrer sur les données plutôt que sur la nature de l’exécution.
Dans la plupart des entreprises, les données potentiellement utiles sont inaccessibles ; une étude a
même révélé que les deux tiers des entreprises retiraient « peu d’avantages concrets » de leurs
19 | P a g e
BIG DATA
données, parfois même « aucun avantage ». Les données ont tendance à être enfermées dans des silos
cloisonnés, des systèmes legacy ou des applications rarement utilisées. ETL est le processus qui
consiste à rendre ces données disponibles en les collectant auprès de sources multiples (cf. schéma ci-
dessus) et en les soumettant à des opérations de nettoyage, de transformation et, au final,
d’analytique métier.
Comme le suggère leur sigle E-T-L, les opérations ETL suivent généralement une séquence en trois
étapes : Extraction-Transformation-Chargement (L pour le terme anglais « Load »). Il est de plus en
plus fréquent que les données soient extraites (E) de leurs emplacements sources, puis chargées (L)
dans un data warehouse cible, ou que les données soient transformées (T) après le chargement (L).
Les paragraphes qui suivent décrivent les trois étapes du processus ETL standard :
Étape 1 : Extraction
L’objectif d’ETL est de produire des données propres, faciles d’accès et qui peuvent être exploitées
efficacement par l’analytique, la Business Intelligence ou/et les opérations commerciales. Les données
brutes peuvent être extraites de différentes sources, en particulier :
Les données extraites sont parfois stockées dans un emplacement tel qu’un data lake ou un data
warehouse.
Étape 2 : Transformation
L’étape de transformation du processus ETL est celle des opérations les plus essentielles. L’opération
la plus importante de l’étape de transformation consiste à appliquer aux données brutes les règles
internes de l’entreprise de manière à répondre aux exigences en matière de reporting : les données
brutes sont nettoyées et converties aux formats de rapport qui conviennent (si les données ne sont
pas nettoyées, il devient plus difficile d’appliquer les règles internes de reporting).
La transformation applique les règles définies en interne. Les normes qui garantissent la qualité des
données et leur accessibilité doivent tenir compte des pratiques suivantes :
Standardisation – Définir les données à traiter, leur format et leur mode de stockage ainsi que
d’autres considérations de base qui définiront les étapes qui suivent.
Déduplication – Transmettre un rapport sur les doublons aux personnes en charge de la
gouvernance des données ; exclure et/ou supprimer les données redondantes.
Vérification – Effectuer des vérifications automatisées pour comparer des données similaires
telles que durée de transaction ou suivi des accès. Les tâches de vérification permettent
d’éliminer les données inutilisables et de signaler les anomalies des systèmes, des applications
ou des données.
Tri – Maximiser l’efficacité des data warehouses en regroupant et stockant les objets par
catégorie (données brutes, données audio, mails, etc.). Vos règles de transformation ETL
conditionnent la catégorisation de chaque objet et sa prochaine destination. Le processus ETL
est parfois utilisé pour générer des tables d’agrégation qui sont ensuite proposées dans des
rapports de base ; dans ce cas, vous devez trier puis agréger les données.
20 | P a g e
BIG DATA
Autres tâches – Tâches dont vous avez besoin et que vous définissez et paramétrez de telle
sorte qu’elles s’exécutent en mode automatique.
Étape 3 : Chargement
La dernière étape du processus ETL standard consiste à charger les données extraites et transformées
dans leur nouvel emplacement. En général, les data warehouses supportent deux modes pour le
chargement des données : chargement complet et chargement incrémentiel.
Le traitement ETL (cycle ponctuel ou programme de cycles) peut être lancé en ligne de commande ou
via une interface graphique. Mais il y a certains points à surveiller. La gestion des exceptions, par
exemple, peut être un processus très lourd. Dans bien des cas, la génération des extraits de données
peut échouer si un ou plusieurs systèmes sont en panne. Si un système contient des données
incorrectes, celles-ci peuvent avoir un impact sur les données extraites d’un autre système ; autrement
dit, la supervision et le traitement des erreurs sont des activités essentielles.
L’approche classique utilisée jusqu’à présent pour stocker les données consiste à les
considérer comme des faits et à les historiser dans une base de données centrale qui est elle-même
gérée par un SGBDR. Cette approche est appelée Data Warehouse ou Data Warehousing (entrepôt de
données). Au niveau du traitement, l’approche classique consiste à appliquer des calculs batch sur les
données hébergées dans la base de données centrale ou dans le Data Warehouse. La collecte
traditionnelle est faite à l’aide d’un ETL, Extract Transform & Load, qui extrait les données des sources
opérationnelles, les transforme de sorte qu’elles soient conformes aux règles d’homogénéisation
définies par le métier et les charge dans le Data Warehouse.
Malheureusement, dans le cadre des cas d’usage des données générées en streaming (ou au fil de
l’eau), cette approche « collecte ETL + Stockage Data Warehouse + Traitement Batch sur des données
historisées » n’est pas appropriée, car au-delà de leur débit et de la vitesse avec laquelle elles sont
produites, les données streaming se caractérisent principalement par un délai de péremption très
rapide : elles perdent 60 % de leur valeur métier dans les instants qui suivent leur création. En
d’autres termes, les données streaming perdent leur valeur métier quelques instants seulement après
avoir été générées. Pensez-y un moment : lorsque les capteurs implantés dans un véhicule connecté
génèrent des données concernant les conditions du trafic environnant un véhicule par exemple, ces
données ne sont valables que dans le contexte des conditions de ce trafic. En d’autres termes, ces
informations ne sont actionnables que dans les instants où le trafic est dans les conditions capturées
par les données. A cause de leur rapide péremption, les données streaming doivent donc être
exploitées à l’immédiat (ou en temps réel) dans les secondes qui suivent leur création, sinon elles
perdent leur valeur métier et n’ont plus aucun intérêt à être historiées.
21 | P a g e
BIG DATA
Le problème que pose le Data Warehouse en Streaming est celui-ci : l’ère dans laquelle nous
fonctionnons actuellement se caractérise par la croissance des différents types de données stockées.
Les données stockées ne sont plus juste des données structurées d’ERP, ou des fichiers csv d’Excel,
mais ce sont des données aussi diverses que les logs d’activité des serveurs Web, les logs d’un centre
appel, les données des réseaux sociaux qui combinent contenus textuels, images, audio et vidéos, les
vidéos de centre de surveillance, les données de capteurs etc… Pour résoudre les challenges liés au
stockage et à l’exploitation de cette grande variété d’actifs de données, l’approche appropriée ne
consiste plus à centraliser leur stockage dans une base de données, mais à distribuer le stockage des
données et à paralléliser leurs traitements dans un cluster Hadoop. Les technologies utilisées pour
implémenter le Data Warehouse ne permettent ni le stockage distribué, ni le parallélisme des requêtes
des utilisateurs. Par conséquent, le Data Warehouse ne peut pas être utilisé pour les cas d’usage de
streaming.
22 | P a g e
BIG DATA
Régression :
Classification :
La classification est un type d'algorithme d'apprentissage automatique supervisé. Pour toute entrée
donnée, les algorithmes de classification aident à prédire la classe de la variable de sortie. Il peut y
avoir plusieurs types de classifications comme la classification binaire, la classification multi-classes,
etc. Cela dépend du nombre de classes dans la variable de sortie.
23 | P a g e
BIG DATA
Applications
Clustering :
Le clustering est un type d'algorithme d'apprentissage automatique non supervisé. Il est utilisé pour
regrouper des points de données ayant des caractéristiques similaires à celles des clusters. Idéalement,
les points de données du même cluster devraient présenter des propriétés similaires et les points des
différents clusters devraient être aussi dissemblables que possible.
Le clustering est divisé en deux groupes : le clustering dur et le clustering souple. Dans le clustering
dur, le point de données est affecté à l'un des clusters uniquement, tandis que dans le clustering
souple, il fournit une probabilité qu'un point de données soit dans chacun des clusters.
K-Means Clustering
Clustering Hiérarchique Aggloméré (Approche Bottom-UpRegroupement hiérarchique
divisionnaire (approche descendante) DBSCAN (Density-based Spatial Clustering of
Applications with Noise
OPTICS (Ordering Points to Identifier Clustering StructureBIRCH (Balanced Iterative Reducing
and Clustering using Hierarchies)
Applications
Au cours de la préparation des données, les données dites “brutes” sont soumises à différents
traitements afin de les rendre exploitables pour l'étape d'Exploration de données, au cours de laquelle
le but sera d'extraire des connaissances à partir des données via la construction de modèles.
La préparation des données une étape clé car la fiabilité de l'analyse des données dépend en très
grande partie de la qualité des données.
24 | P a g e
BIG DATA
Prenons la thématique de flux migratoire vers l’Union Européenne comme exemple pour mieux
comprendre le concept de data visualisation. Nous allons nous appuyer les cinq niveaux de la data
visualisation pour expliquer cette thématique.
Le Niveau 0 de la dataviz ce n’est bien entendu pas de dataviz du tout. Dans l’exemple qui nous occupe
vous vous retrouverez dès lors avec un fichier de quelques milliers de lignes. Les données sont très
granulaires et une ligne est donc créée pour chaque segment de migrants. De plus, la base de données
comporte également beaucoup de valeurs nulles pour les segments vides. A titre d’exemple, l’Estonie
n’a pas accueilli de migrants de plus de 18 ans en provenance d’Afghanistan.
Le niveau 1 de la data visualisation c’est ce que vous pouvez réaliser avec un outil comme Excel. Un
histogramme, un camembert, une courbe, ce sont déjà des formes (simples) de visualisation des
données et cela peut déjà suffire. Il n’est donc pas étonnant que beaucoup de sociétés y aient recours
et s’en contentent. Pour poursuivre sur l’exemple précédent on se retrouve donc avec une visualisation
de l’évolution du nombre de migrants par année. A ce stade le lecteur est donc face à une visualisation
statique qui présente un niveau de granularité assez faible. Explorer les données plus en profondeur
requérerait de multiplier les graphiques de ce type pour comparer par exemple les évolutions par pays,
par classe d’âge, par sexe, etc … Ces informations étant de natures différentes et les pays de de
provenance et de destination étant nombreux, il serait malaisé de représenter tout cela sur un seul
graphique.
25 | P a g e
BIG DATA
Les outils les plus puissants du marché permettent de créer des visualisations interactives. L’utilisateur
devient l’acteur de ses découvertes basées sur la data. Il a l’opportunité, en activant des filtres et des
options, de faire varier la visualisation en fonction de ses besoins. On passe donc d’une représentation
visuelle statique à une représentation dynamique. L’exemple ci-dessous, que j’ai mis en ligne sur
Tableau Public, permet à l’utilisateur de passer d’un pays à l’autre, d’observer les variations années
après année, pour chaque sexe. Des insights supplémentaires sont mis à disposition sous la forme de
classements mis à jour automatiquement.
Le dernier niveau de la data visualisation ajoute une dimension esthétique à l’ensemble. L’exploration
des données et la mise au jour d’insights ne sont plus suffisantes. Il faut encore que le résultat soit
beau, digne de figurer sur le mur de votre living. Dans cette catégorie, les outils utilisés relèvent plus
de la palette du graphiste que de celle de l’analyste.
26 | P a g e
BIG DATA
et se matérialise par des tableaux (type Excel), des graphiques, des cartes visuelles ou même des
infographies regroupées dans des dashboards (tableaux de bord).
En classant, segmentant et scénarisant les données visuellement, une entreprise peut déceler des
informations auparavant inaccessibles en un simple coup d’œil. La visualisation des données permet
donc à toute organisation de piloter son activité plus efficacement en adoptant une stratégie data-
driven et agile.
Lorsqu’on aborde le vaste sujet de la visualisation de la data, la première image qui vient à l’esprit est
le basique graphique à courbe ou à barre ou le classique diagramme à secteurs. Certes, ces
représentations sont très utiles et utilisées, mais ce ne sont pas forcément les plus adaptées pour tous
les types de données.
Voici un petit tour d’horizon des représentations visuelles que vous pouvez choisir en fonction de vos
besoins.
Diagrammes en secteur
Tableau (avec textes ou nombres)
Courbe
Histogramme (graphique à barres)
Cartographie
Infographie
Frise chronologique
Pour communiquer l'information de façon claire et efficace, la data visualisation utilise des graphiques
statistiques, des diagrammes, des infographies et d'autres outils. Les données numériques peuvent
être codées à l'aide de points, de lignes ou de barres pour communiquer visuellement un message
quantitatif.
27 | P a g e
BIG DATA
Une visualisation efficace aide les utilisateurs à analyser et à raisonner au sujet des données et des
probabilités. Il rend les données complexes plus accessibles, compréhensibles et utilisables. Les
utilisateurs peuvent avoir des tâches analytiques particulières, comme faire des comparaisons ou
comprendre la causalité. Les tableaux sont généralement utilisés lorsque les utilisateurs recherchent
une mesure ou une valeur spécifique, tandis que des graphiques de divers types sont utilisés pour
montrer les tendances ou les relations entre les données pour une ou plusieurs variables.
La data visualization permet de repérer des modèles, des tendances et des corrélations qui, autrement,
passeraient inaperçus dans les rapports, tableaux ou feuilles de calcul traditionnels.
Les outils de data visualization d'aujourd'hui vont au-delà des tableaux et graphiques standard utilisés
dans les feuilles de calcul Microsoft Excel, en affichant les données de façon plus sophistiquée comme
les infographies, les courbes et les échelles, les cartes géographiques, les sparklines, les cartes de
chaleur et les histogrammes, les camemberts, etc. Les images peuvent être interactives, ce qui permet
aux utilisateurs de les manipuler ou d'explorer les données pour les interroger et les analyser.
28 | P a g e
BIG DATA
29 | P a g e