Introduction au Big Data - Atelier Apache Spark

Big Data, Data Science, Apache Spark · course

Voir tous les documents en intelligence artificielle et données

3/20/2021

P1 - Introduction au Big Data - Atelier Apache Spark

Partie 1 - Introduction au Big Data

Les "Big Data", Pourquoi?

L' tre humain, travers l'humanit , a toujours cherch trois choses : Savoir

(qu'est-ce qui s'est pass ?), Comprendre (pourquoi cela s'est-il pass ?) et Pr dire

(qu'est-ce que qui se passera?). Plusieurs cultures ont clam l'omniscience en

ayant recours des subterfuges, tels que les oracles, l'astrologie, le tarot, ou les

boules de cristal.

https://liliasfaxi.github.io/Atelier-Spark/p1-big-data/

1/14

3/20/2021

P1 - Introduction au Big Data - Atelier Apache Spark

Cela dit, ces moyens ne sont gu res satisfaisants l'esprit m ticuleux du

scientique, qui cherche toujours une explication logique et rationnelle tout

v nement, et une

justication convainquante tout comportement. Le

scientique se base sur des faits. Il veut arriver faire de la magie gr ce la

technologie.

Pour arriver ces ns, le scientique a besoin de donn es. L'int r t de collecter

des donn es et de les exploiter a longtemps t n glig , et a t limit au peu de

donn es, jug es "utiles", qui semblaient susantes pour atteindre un objectif

imm diat. Cependant, adopter le chemin vident et peu risqu n'aurait jamais

permis de r aliser les miracles auxquelles on s'attendait. Il fallait trouver un autre

moyen..

Le terme Big Data est apparu peu de temps apr s l'apparition du terme Web 2.0,

qui montre la transition de l'internet d'une re o l'ajout des donn es tait

exclusivement r serv une lite experte, o le volume des donn es disponible

tait petit mais o les donn es taient pr cieuses et pertinentes, vers une re o

tout un chacun tait capable d'introduire des connaissances, v ridiques ou pas,

qui seraient sauvegard es dans une m moire collective jusqu' la n des temps.

Ce changement de paradigme a entrain le besoin d'infrastructures nouvelles,

qui seraient capables, non seulement de stocker ces donn es, mais galement

d'en extraire de la valeur.

Ces infrastructures auront la capacit de g rer toute la cha ne logistique des

donn es, de la collecte vers l'achage. Cela semble vident, me direz-vous, car

les syst mes classiques sont capables de faire cela. Qui stocke mieux les

donn es qu'une bonne vieille base de donn es relationnelle? Le probl me est

que les donn es dites "Big Data" sont caract ris es par des propri t s telles que,

les syst mes classiques de stockage et de traitement auraient du mal les

exploiter leur juste valeur.

Caract ristiques des Donn es Massives

Le terme "donn es massives", ou "Big Data", ne donne mon avis pas

enti rement justice aux donn es de notre domaine. En effet, il repr sente une

seule caract ristique parmis plusieurs, le Volume, qui, m me si elle semble tre

la plus importante, est loin d' tre la plus critique.

https://liliasfaxi.github.io/Atelier-Spark/p1-big-data/

2/14

3/20/2021

P1 - Introduction au Big Data - Atelier Apache Spark

En effet, les donn es massives sont caract ris es par les fameux *V. Il en existe

plusieurs

(10

jusqu'

ce

jour

si

je

ne m'abuse,

certains

en

citent m me 42!!!), mais pourraient mon avis tre r sum s en trois

caract ristiques primordiales, autours de la combinaison desquelles tournent

toutes les d cisions prises dans ce domaine.

Volume

C'est videmment le V le plus manifeste, qui caract rise le fait que les

donn es ont un volume norme qui peut atteindre des valeurs de l'ordre de

Exa-, Zetta- ou Yottaoctet (allant jusqu'

280

octets!). Mais ceci n'est pas

tout. Un volume norme, s'il reste constant, est g rable : il sut de trouver

une machine susamment puissante pour le sauvegarder. Le probl me

avec la propri t du volume, c'est qu'il augmente de fa on continue, ce qui

rend sa gestion beaucoup plus ardue. Une citation bien connue, et qui se re-

conrme chaque ann e, atteste que "Over the last two years alone 90 percent

of the data in the world was generated." Il est donc primordial de trouver un

moyen de g rer ce volume toujours croissant des donn es.

V locit

Cette propri t est, mon avis, la plus probl matique des trois, car, coupl e

avec le volume, elle rend les syst me actuels obsol tes. En effet, la v locit

est, litt ralement, "La vitesse avec laquelle quelque chose se d place dans

une direction particuli re". Dans notre cas, la v locit des donn es est la

responsable directe du volume croissant des donn es dans le syst me. Elle

est provoqu e par une arriv e des donn es dans le syst me sous la forme

d'un ux constant qui demande tre stock et trait imm diatement, ainsi

que le besoin croissant des utilisateurs d'avoir une repr sentation r cente et

d le de l' tat des donn es. D'ailleurs, cette propri t a engendr une autre

pr occupation des analystes des donn es, qui est de fournir une

introspection en temps r el sur les donn es, les qualiant ainsi de "Fast

Data".

Vari t

Ce qui distingue vraiment les donn es massives des donn es g r es

classiquement dans des bases de donn es op rationnelles, c'est le support

des donn es semi- et non structur es. En effet, les donn es non structur es

sont des donn es qu'on stocke dans un format qui n'est pas d ni la

cr ation, telles que les donn es textuelles, images ou sons. Les donn es

https://liliasfaxi.github.io/Atelier-Spark/p1-big-data/

3/14

3/20/2021

P1 - Introduction au Big Data - Atelier Apache Spark

semi-structur es sont des donn es qui contiennent une structure, mais une

structure qui n'est pas rigide, et dont on ne d nit pas les contraintes

Publicité

l'insertion de la donn e, contrairement aux donn es structur es (se trouvant

typiquement dans des bases de donn es relationnelles) qui, si elles ne

respectent pas la structure d nie, sont consid r es fausses et ne sont pas

autoris es tre enregistr es. On estime que seules 15% des donn es dans

une entreprise sont des donn es structur es, contre 85% qui ne le sont pas!

Dans une optique centr e sur les donn es, dont le but est de gagner le

maximum de vision partir des donn es, perdre autant de sources

d'information est un vrai probl me. Il est donc important que les syst mes

Big Data sachent interpr ter ces donn es et en extraire le maximum de

valeur.

Toutes les d cisions, choix et propri t s prises au niveau des architectures et

infrastructures Big Data sont r gies par ces trois caract ristiques, ce qui va

compl tement changer la vision "relationnelle" que tout informaticien qui se

respecte a acquis tout au long de ses ann es d' tude et de travail.

Cela dit, ce ne sont pas les seules propri t s. D'autres V ont vu le jour, mais sans

jamais avoir autant d'impact sur l'infrastructre, plut t dans la fa on de d nir les

processus, la gouvernance et les approches m tier adopter. Nous citons par

exemple :

V racit : c'est la conance que nous devons avoir en nos donn es. Cette

propri t est inversement proportionnelle au volume et la vari t : plus nos

donn es sont ables, moins elles sont diversi es et volumineuses!

Valeur : c'est la capacit d'extraire de la valeur m tier partir des donn es.

Variabilit : une extension de la vari t , qui indique quel point nos donn es

peuvent avoir des dimensions diff rentes partir des sources de donn es

disparates.

Visualisation : c'est la capacit de nos donn es tre repr sent es par les

outils de visualisation classiques.

etc.

Infrastructure Big Data : Besoins

https://liliasfaxi.github.io/Atelier-Spark/p1-big-data/

4/14

3/20/2021

P1 - Introduction au Big Data - Atelier Apache Spark

Les caract ristiques des donn es Big Data cit es ci-dessus, entra nent des

besoins particuliers en termes d'infrastructure et d'architecture.

Volume

La caract ristique de volume, qui implique que la taille des donn es augmente

de fa on r guli re, fait qu'on ne peut plus se contenter d'un syst me centralis

classique. Car dans un syst me centralis (donc bas sur une seule machine),

augmenter les ressources de stockage au besoin implique ce que nous appelons

une scalabilit verticale ou un scale up, qui veut dire une augmentation des

capacit s du serveur de stockage en rajoutant des processeurs, de la RAM ou

des disques.

Cependant, cette solution, bien qu'elle soit intuitive, rapide et ne requiert pas de

changement architecturaux cons quents, implique en g n ral un temps d'arr t

pendant l'installation, ainsi qu'une d pense assez cons quente pour faire

l'acquisition d'un serveur puissant. De plus, une machine unique atteindra

rapidement une limite mat rielle, car il vous est impossible d'augmenter ses

ressources ind niment.

En contrepartie, il est possible de penser que, face un volume de donn es

toujours en augmentation, il serait plus judicieux de rajouter des machines au

besoin, cr ant ainsi un cluster de machines interconnect es, ou syst me r parti,

dont la taille et la capacit sont virtuellement illimit es. Nous sommes donc face

un autre type de scalabilit : la scalabilit horizontale ou le scale out.

https://liliasfaxi.github.io/Atelier-Spark/p1-big-data/

5/14

3/20/2021

P1 - Introduction au Big Data - Atelier Apache Spark

Donc Volume =>

Scalabilit Horizontale

V locit

La v locit est une propri t qui, coupl e au volume, rend la gestion de

l'infrastructure un vrai cauchemar. En effet, g rer des donn es en continuelle

arriv e implique qu'il y'a un risque norme de perte de donn es, si elles ne sont

pas manipul es temps. C'est pour cette raison qu'un syst me Big Data se doit

d' tre continuellement disponible : toute requ te de lecture ou d' criture doit tre

trait e en un temps raisonnable, et le syst me doit tre continuellement alerte

pour saisir toutes les donn es, sans risquer de les perdre.

Ainsi V locit =>

Disponibilit

Vari t

La vari t de donn es implique non seulement que nous sommes en pr sence

de donn es structur es, semi-structur es et non structur es, mais galement

que ces donn es peuvent parvenir de sources diff rentes, avec des formats

diff rents, et que m me partir d'une m me source, ce format peut changer d'un

moment un autre. Dans les syst mes classiques, tout ce qui est variable doit

passer par une couche d'homog n isation qui transformera chaque entr e ou

enregistrement dans la forme souhait e, en remplissant par des valeurs NULL

les donn es manquantes. Rajouter cette couche d'homog n isation aura un

double impact n gatif sur notre syst me : (1) cause de la v locit , cette

op ration risquera de ralentir la collecte et saisie des donn es entrantes, et (2)

on pourra subir une perte de donn es suite ces transformations.

C'est pour ces raisons qu'un syst me Big Data se doit de supporter des types de

donn es changeants, sans pour autant requ rir des subterfuges qui

alourdissent ou contournent le syst me de stockage.

D'o Vari t =>

Flexibilit

Th or me CAP

Les besoins de scalabilit , disponibilit et exibilit , obligatoires pour avoir un

syst me Big Data en bonne et due forme, se trouvent confront s une

contrainte de taille... et qu'en est-il de la coh rence (commun ment appel e

aussi consistence, par anglicisme)?

https://liliasfaxi.github.io/Atelier-Spark/p1-big-data/

6/14

3/20/2021

P1 - Introduction au Big Data - Atelier Apache Spark

La coh rence repr sente en effet un must pour les syst mes relationnels

classiques, et une base sur

laquelle sont prises toutes

les d cisions

conceptuelles et techniques. Elle repr sente le fait que les donn es stables

doivent respecter toutes les contraintes d'int grit d nies la cr ation de la

base de donn e. Par exemple, si un champ est d cr t "Not Null", il doit le rester

Publicité

quelque soit la situation, et aucun moment une requ te ne doit surprendre ce

champs avec une valeur nulle, m me si c'est juste une valeur interm diaire. La

coh rence est un principe tr s rigide dans les bases de donn es relationnelles,

et repr sente le crit re de base pour la gestion des transactions : le C de ACID.

Cela dit, dans les syst mes Big Data, nous nous trouvons confront s un

probl me de taille : nous devons tre en pr sence d'une infrastructure r partie et

hautement disponible. Or, il existe un th or me appel CAP pour Consistency /

Availability / Partition tolerance, qui stipule que ces trois propri t s (notamment

la coh rence, la disponibilit et la tol rance au partitionnement), ne peuvent

jamais avoir lieu en m me temps. Seules deux d'entre elles peuvent tre

respect es la fois.

Essayons d'expliquer pourquoi.

Un syst me r parti est dit coh rent si tous ses noeuds voient les m mes

donn es en m me temps. C'est dire que, si nous r alisons une op ration de

lecture sur un syst me consistant, il devrait toujours retourner la valeur la plus

r cente qui ait t crite, quel que soit l'endroit partir duquel la lecture est

effectu e. Ainsi, si une donn e est modi e sur un noeud particulier, pour

conserver la coh rence demand e, aucune op ration de lecture ne doit tre

https://liliasfaxi.github.io/Atelier-Spark/p1-big-data/

7/14

3/20/2021

P1 - Introduction au Big Data - Atelier Apache Spark

permise avant d'avoir mis jour toutes les r pliques (copies) de cette donn es.

Or, les diff rents noeuds d'un cluster sont en g n ral distants, parfois m me

g ographiquement, il est donc n cessaire d'attendre que la propagation de la

modication se fasse sur le r seau, pour effectuer n'importe quelle op ration,

m me une lecture. Ceci va rendre nos donn es indisponibles la lecture

pendant tout le temps que durera l'op ration de synchronisation, qui est un

temps incertain puisque... r seau. Assurer donc une coh rence forte dans un

syst me distribu est en contradiction avec le besoin de disponibilit du

syst me et des donn es. D'ailleurs, c'est ce que font les bases de donn es

relationnelles r parties, qui conservent les propri t s ACID tout en distribuant les

donn es, mais qui souffrent d'un manque notoire de performance.

Les syst mes Big Data, subissant les contraintes des V pr c demment cit s,

doivent donc faire un choix. Or ce choix est loin d' tre facile : qui voudra acheter

un syst me qui pr ne haut et fort qu'il est incoh rent ? L'id e serait donc de

partir sur le principe de coh rence ventuelle ou parfois de coh rence ajustable.

Ainsi, un syst me Big Data est un syst me principalement disponible,

fondamentalement r parti, et qui assure une coh rence ventuelle au bout d'un

temps g n ralement n gligeable, avec la possibilit de congurer les niveau de

coh rence parfois m me dynamiquement.

Les experts les appellent donc les syst mes BASE (admirez le jeux de mot..

ACID, BASE =):

Basically Available

Soft-state

Eventual consistency

La propri t de Soft State ou d' tat "mou" veut dire que l' tat du syst me peut

changer dans le temps, m me sans qu'il y ait une nouvelle entr e, cause du

principe de coh rence ventuelle expliqu pr c demment.

Maintenant que vous tes plus familiaris s avec les caract ristiques d'un

syst me Big Data, listons quelques principes, appel s ici MOTTOS, qui vont r gir

nos futures d cisions dans ce domaine.

Principes de base du Domaine des Big Data

https://liliasfaxi.github.io/Atelier-Spark/p1-big-data/

8/14

3/20/2021

P1 - Introduction au Big Data - Atelier Apache Spark

Il est important, avant d'entamer n'importe quel travail sur les syst mes Big Data,

de consid rer certains principes, qui sont parfois en enti re contradiction avec

les principes classiques de d veloppement d'application. Ce n'est pas si

tonnant : le domaine des Big Data n'est pas cens prendre la place des

domaines relationnel et d cisionnel, mais plut t les enrichir et les agr menter.

MOTTO 1 : Stocker d'abord, r chir ensuite

cause de la v locit , il est important de consid rer qu'il nous sera parfois

dicile, voire impossible, de nettoyer les donn es ou de faire un traitement

quelconque dessus, avant de les stocker. Cela risque dans bien des cas de nous

faire perdre des donn es, le cauchemar de tout scientique des donn es!

Nous devons donc envisager la possibilit de d nir des syst mes de stockage

qui contiennent des donn es non nettoy es, en vrac (appel es raw data), pour

ensuite lancer des traitements dessus.. l'horreur pour un gestionnaire de bases

des donn es! =1

Bien entendu, ces "bases" ne sont pas con ues pour tre directement exploit es

par des applications externes, mais plut t pour conserver le plus longtemps

possibles les donn es brutes, sans perte, qui pourraient eventuellement tre

r utilis es pour d'autres ns.

MOTTO 2 : Absolument TOUTES les donn es sont importantes!

D'o l'int r t du MOTTO 1. Il nous est parfois dicile, au tout d but de la

conception des syst mes Big Data, de cerner toutes les possibilit s offertes par

ces syst mes et par les donn es que nous avons notre disposition. Nous

sommes donc en g n ral tent s de supprimer les donn es dont nous n'avons

pas besoin une fois extraite l'information imm diatement utile. Cela dit, gr ce

l'accessibilit des syst mes de stockage magn tiques et leur prix de plus en

plus bas, nous consid rons qu'il est largement plus b n que de stocker des

donn es qu'on n'utilisera peut- tre jamais, plut t que de gagner de la place et

perdre un potentiel pouvoir concurrentiel.

MOTTO 3 : Ce sont les donn es qui pilotent le traitement

Dans un syst me op rationnel classique, ainsi que dans la plupart des syst mes

d cisionnels, ce sont les besoins m tier qui pr valoient : le responsable m tier

commence par d nir les besoins (ou les KPIs : Key Performance Indicators dans

le cas d'un syst me d cisionnel), puis le responsable technique con oit les

structures de donn es pour r pondre ces besoins.

https://liliasfaxi.github.io/Atelier-Spark/p1-big-data/

9/14

3/20/2021

P1 - Introduction au Big Data - Atelier Apache Spark

Par essence, un syst me Big Data fonctionne diff remment : les donn es sont

collect es tout d'abord partir de toutes les sources possibles; des traitements

de fouille et d'exploration de ces donn es sont lanc s ensuite, pour extraire de la

valeur partir de ces donn es. L'objectif est toujours le m me : chercher l'effet

WOW!

D'o l'int r t de ce MOTTO : d nir le traitement r aliser d pend des donn es

que nous avons r ussi collecter, et pas le contraire. Cela implique donc

l'utilisation d'autres types de syst mes de traitement et d'algorithmes d'analyse.

Publicité

MOTTO 4 : Co-localisation des donn es et du traitement

Un syst me classique plusieurs couches, tel que le syst me trois tiers par

exemple, se base sur le principe de s paration des donn es et du traitement. On

trouve en g n ral des donn es sur un serveur de bases de donn es s par , et

les traitement complexes sur un serveur d'application qui se charge de

l'aggr gation et de l'achage de ces donn es. Ceci est agr ment d'un langage

de requ tage d claratif (typiquement SQL) pour r aliser des op rations de

ltrage, parfois assez lourdes et complexes, au niveau de la base de donn es.

Cela dit, dans un contexte Big Data, le volume des donn es peut s'av rer assez

cons quent, trop m me pour envisager de le d placer chaque fois vers un

autre syst me pour en extraire une vraie valeur. De plus, compter sur un langage

comme SQL pour diminuer le volume ou faire de simples agr gations au niveau

de la base de donn es pourra la rendre indisponible pendant un moment (car

n'oublions pas que nous parlons d'un syst me r parti), ce qui va l'encontre du

principe de v locit , qui exige une disponibilit toute preuve du syst me de

stockage.

C'est pour cette raison que, pour r aliser les traitements voulus en un temps

raisonnable et sans avoir trimballer les donn es sur le r seau, il est question

dans les syst mes Big Data de d placer le traitement vers les donn es

massives, au lieu de d placer les donn es vers le traitement.

MOTTO 5 : La redondance, c'est bien

Dans les bases de donn es relationnelles, le plus grand ennemi combattre

dans la conception de la structure de donn es est la redondance, et ce pour

deux raisons. La premi re, vidente, est le gain d'espace : notre espace de

stockage est pr cieux, et nous devons viter de le gaspiller sans raison pr cise.

La deuxi me est un besoin de coh rence : si nous dupliquons une m me

https://liliasfaxi.github.io/Atelier-Spark/p1-big-data/

10/14

3/20/2021

P1 - Introduction au Big Data - Atelier Apache Spark

information plusieurs endroits dans la base, nous devrons par la suite faire

attention, parfois par des m canismes compliqu s et co teux, ce que cette

information soit mise jour instantan ment sur la totalit de ses copies.

Ce besoin d' viter la redondance a cr la n cessit d'utiliser plusieurs

techniques, telles que les jointures et clefs trang res, et entra ne parfois la

cr ation d'un tr s grand nombre de tables. Ceci rajoute une complexit pour le

requ tage, et une lourdeur d'ex cution des t ches sur la base.

Un syst me Big Data qui, non seulement est caract ris par un gros volume de

donn es, mais galement une grande v locit , et qui doit donc tre

imm diatement disponible, ne peut pas se permettre de gaspiller ses ressources

en requ tes inutiles. On tol re donc un certain point les risques dus la

redondance, pour gagner en disponibilit , primordiale dans ce type de syst mes.

D'autre part, un syst me Big Data est un syst me r parti par excellence, et dans

un syst me r parti, il est primordial d'assurer une bonne tol rance aux fautes en

cr ant des r pliques des donn es, diss min es partout sur le cluster. Ces

r pliques assurent qu'aucune machine n'est compl tement indispensable, et

diminue le risque d'indisponibilit des donn es. Un autre signe de redondance.

MOTTO 6 : Vive le Polyglottisme!

tre polyglotte, c'est tre capable de parler plusieurs langues. Et les syst mes

Big Data encouragent le polyglottisme. En effet, ce sont des syst mes

complexes qui impliquent en g n ral plusieurs traitements et plusieurs types de

donn es diff rentes (donn es brutes, donn es nettoy es, donn es trait es), ce

qui fait qu'il existe deux principes importants encourager :

Polyglot Programming : Une application peut comporter plusieurs langages

et paradigmes de programmation, chacun assurant un besoin particulier, de

fa on proter des avantages de chacun sa juste valeur.

Polyglot Persistence : Dans une m me application, il est possible d'utiliser

plusieurs syst mes de stockage diff rents (relationnels, NOSQL, syst mes

de chiers, etc.).

Gr ce ces deux principes, on pourra cr er des applications complexes mais

compl tes, qui permettent d'assurer tous les besoins en terme de stockage et de

traitement.

https://liliasfaxi.github.io/Atelier-Spark/p1-big-data/

11/14

3/20/2021

P1 - Introduction au Big Data - Atelier Apache Spark

Technologies et Paradigmes

Les op rations r aliser sur les syst mes Big Data consistent principalement en

:

Ingestion des donn es : repr sente les phases de collecte et d'importation

des donn es pour tre stock es ou trait es la vol e. Cela peut se faire en

"temps r el", c'est dire que les donn es sont import es au moment o

elles sont mises par leur source, ou bien "par lots", ce qui veut dire que les

donn es sont import es par portions intervalles r gulier.

Exemples de technologies

Apache

Kafka

,

Amazon

Kinesis

,

Apache

Flume

, Sqoop , etc.

Stockage des donn es : Les syst mes de stockage de donn es respectant

les propri t s le Big Data se distinguent principalement en syst mes de

chiers

distribu s,

tel

que

Hadoop

HDFS

ou Google GFS

, ou bases de donn es NOSQL, tel que

MongoDB

,

Cassandra

,

Redis

ou Neo4J

.

Traitement des donn es : Plusieurs types de traitement de donn es sont

Publicité

possibles, nous citons :

Traitement par lot (Batch Processing) : c'est le traitement des donn es au

repos (data at rest) qui se fait sur l'ensemble des donn es stock es,

sans avoir besoin d'une interaction avec l'utilisateur. Le traitement par

lot est adapt principalement aux op rations ayant lieu la n d'un

cycle, permettant d'avoir une vision globale sur la totalit des donn es,

par exemple pour avoir un rapport global ou une analyse mensuelle. Les

op rations de traitement par lots sont en g n ral lanc es des p riodes

r guli res, car elles sont connues pour avoir une grande latence (temps

total de traitement).

Exemples de technologies

Hadoop

Map

Reduce

https://liliasfaxi.github.io/Atelier-Spark/p1-big-data/

12/14

3/20/2021

P1 - Introduction au Big Data - Atelier Apache Spark

et

Spark Batch .

Traitement en Streaming (Stream Processing) : c'est le traitement des

donn es en transit (data in motion), ou en d'autres termes, le traitement

des donn es pendant qu'elles sont produites ou re ues. Les donn es

tant en g n ral cr es en tant que ux continu ( v nements de

capteurs, activit des utilisateurs sur un site web, ux vid o, etc.), elles

sont captur es comme une s rie d' v nements continus dans le temps.

Avant la cr ation des traitements en streaming, ces donn es taient

stock es dans une base de donn es, un syst me de chier ou tout autre

forme de stockage en masse. Les applications appelleront ensuite les

donn es au besoin. Gr ce ce nouveau paradigme, les donn es

peuvent maintenant tre trait es la vol e, ce qui permet la couche

applicative d' tre toujours sur coute et jour.

Exemples de technologies

Apache

Flink

et Apache

Storm

.

Traitement par Micro-Lot (Micro-Batch Processing) : c'est la pratique de

collecter les donn es en petits groupes (appel s des micro-lots ou des

micro-batchs) pour les traiter. Contrairement au traditionnel traitement

par lot, cette variante fait en sorte que le traitement des donn es soit

plus fr quent, et que les r sultats soient produits avec une latence

beaucoup plus petite. Les donn es sont collect es par intervalles selon

un seuil pr d ni, limit par un temps (par exemple toutes les

secondes), ou par un nombre (tous les 20 l ments). Ce traitement est

en g n ral une alternative au traitement en streaming, o les donn es

sont trait es la vol e, mais risquent d' tre perdues si le temps de

traitement est sup rieur la fr quence de g n ration des donn es. Le

micro-batching permet, par contraste, de sauvegarder les donn es dans

un buffer, ralentissant ainsi le ux g n r . D'autre part, les donn es

tant trait es par micro-lots, il est possible d'avoir une visibilit sur ce

petit lot de donn es, contrairement au traitement en streaming qui n'a de

visibilit que sur la derni re donn e g n r e, moins de proc der des

m canismes parfois co teux. En contrepartie, le traitement en micro-

batch donne des r sultats moins r cents que le "vrai" streaming, et

https://liliasfaxi.github.io/Atelier-Spark/p1-big-data/

13/14

3/20/2021

P1 - Introduction au Big Data - Atelier Apache Spark

s'ex cute sous forme de bursts r guliers, qui peuvent parfois tre

g nants pour le syst me sous-jacent.

Exemples de technologies

Spark Streaming

et

Logstash

.

Traitement Interactif (Interactive Processing) : Dans les syst mes Big

Data, la notion de transaction n'est plus exactement la m me que pour

les syst mes classiques: nies les sacro-saintes propri t s ACID dont le

premier objectif est d'avoir des donn es correctes et coh rentes, et

bonjour les propri t s BASE, qui favorisent un acc s moins rigide aux

donn es. On parle donc rarement de traitement transactionnel en Big

Data, mais de traitements plut t interactifs : une requ te est envoy e par

le client, trait e imm diatement par le syst me qui renverra un r sultat

dans un temps raisonnable. On parle alors d'interaction entre l'utilisateur

et le syst me. Les traitements en batch et en streaming ne sont pas

cens s communiquer avec un utilisateur de l'autre c t . En g n ral, les

r sultats de ces traitements sont enregistr s dans un syst me de

stockage, qui sera, lui, par la suite interrog par l'utilisateur. Le

traitement interactif est donc le r sultat d'une requ te de l'utilisateur,

faite en g n ral sur une base de donn es (relationnelle ou NOSQL).

Exemples de technologies

Apache

Drill

,

Cloudera

Impala

ou

Apache

Zeppelin

.

https://liliasfaxi.github.io/Atelier-Spark/p1-big-data/

14/14