Big Data : utilisation d un cluster cluster Cécile Cavet cecile.cavet at apc.univ-paris7.fr Centre François Arago (FACe), Laboratoire APC, Université Paris Diderot LabEx UnivEarthS 14 Janvier 2014 C. Cavet Big Data: cluster
Plan 1 2 cluster 3 cluster 4 C. Cavet Big Data : cluster
Big Data cluster Problématique : Gestion des grandes masses de données. Collecte. Stockage. Traitement. Visualisation. Analyse. C. Cavet Big Data : cluster
Goulot d étranglement : les VVVV... cluster 4V des données numériques : Volume. Vitesse d accumulation et de traitement. Variété (diversité, hétérogénéité). Véracité (bruit, précision). C. Cavet Big Data : cluster
Big Data en Astronomie cluster C. Cavet Big Data : cluster
Big Data en Astronomie cluster Figure: Projets qui génèrent/vont générer des grands volumes de données. C. Cavet Big Data : cluster
Big Data en Astronomie cluster Dans un futur très proche ( 2020) : Projets visant à étudier l énergie noire : LSST (info@e. Gangler) : 100 PB d archives finales d images. 40 10 9 objets Table de 100-200 TB. 5000 10 9 observations Table de 1-3 PB. Euclid (info@s. Colzy) : 4,4 PB d archives finales d images. 10 10 9 objets. 42000 observations. Actions en cours : R&T du CNES. PetaSky (MASTODONS) au CNRS. C. Cavet Big Data : cluster
liées au Big Data. NoSQL.. Data warehouse (entrepôts de base de données) / data smart. cluster C. Cavet Big Data : cluster
Histoire synthétique d 1 cluster Google en 2004 : solution propriétaire. GFS (Google FS) : stockage distribué. The Google File System, S. Ghemawat, H. Gobioff & S. Leung. Google : calcul distribué. MapReduce: Simplified Data Processing on Large s, J. Dean & S. Ghemawat. BigTable : SGBD (Système de Gestion de Bases de Données) basé sur GFS. BigTable: A Distributed Storage System for Structured Data. Calcul et stockage distribué, tolérant aux pannes. 1 Les base de données NoSQL, R. Bruchez, Eyrolles (2013) C. Cavet Big Data : cluster
Histoire synthétique d Apache en 2008 : solution open-source. cluster http://hadoop.apache.org/ ( Distributed FS) : stockage distribué. : calcul distribué. : SGBD NoSQL.. C. Cavet Big Data : cluster
cluster 1 Infrastructure : Machines physiques dédiées. Machines virtuelles du Cloud. 2 Distribution : MapR.. HortonWorks. C. Cavet Big Data : cluster
: cluster Peu (pas) présent dans le monde académique car technologie trop récente MPI en générale. Déjà présent sur l infrastructure de Cloud : Sur AWS EC2 et S3 Amazon Elastic MapReduce (Cloud de type PaaS). http: //aws.amazon.com/fr/elasticmapreduce/ Nécessite une infrastructure de calcul distribué spécifique (CPU, mémoire, stockage et réseau) application "challenging" pour le Cloud. C. Cavet Big Data : cluster
CDH ( s Distribution including Apache ) cluster Composants Apache : : système de fichier distribué. MapReduce : framework de traitement parallélisé. : SGBD NoSQL. Hive : Rrequêtage de type SQL. Pig : scripting et requêtage. ZooKeeper : coordination des appli. distribuées. Mahout : framework d apprentissage et de datamining pour. Composants : Oozie : workflow et planification de jobs. Sqoop : intégration de bases SQL. Flume : exploitation de fichiers (log). C. Cavet Big Data : cluster
CDH cluster Figure: Fonctionnement de la distribution. C. Cavet Big Data : cluster
cluster Système de fichiers distribué : En Java. Stocke des données structurées ou non sur un ensemble de serveurs distribués. Redondant, résilient. Découpage et distribution en blocks des données : Blocksize : taille unitaire de stockage (généralement 64 Mo ou 128 Mo). Replication factor : nombre de copies d une données devant être réparties sur les différents noeuds. C. Cavet Big Data : cluster
cluster Figure: Fonctionnement de. C. Cavet Big Data : cluster
cluster Algorithme de traitement de données : Natif : JAVA (bientôt C++). Autres possibilités (en streaming) : Python, Ruby, Perl... Fonctionnement : 1 Load input data as key/values. 2 Distribute them to computing node. 3 Map(): transform to new key/values pairs. 4 Reduce(): combine values having the same key. 5 Write to output file. C. Cavet Big Data : cluster
cluster Figure: Fonctionnement de. C. Cavet Big Data : cluster
cluster SGBD NoSQL : En Java. SGBD non relationnelles. Orientée colonne. Manipulation de grand volume de données sur des architectures distribuées. Utilisation conjointe avec. Gère les accès read/write aléatoires. C. Cavet Big Data : cluster
cluster Figure: Fonctionnement de. C. Cavet Big Data : cluster
Base de données NoSQL cluster NoSQL : Not Only SQL (2009). SGBD NoSQL permet la gestion des grands volumes de données en passant à l échelle et en fournissant des meilleurs performance d accès aux données. Large volumes of structured, semi-structured, and unstructured data Agile sprints, quick iteration, and frequent code pushes Object-oriented programming that is easy to use and flexible Efficient, scale-out architecture instead of expensive, monolithic architecture C. Cavet Big Data : cluster
Base de données NoSQL cluster C. Cavet Big Data : cluster
cluster sur le Cloud : étapes 1 Installation de. 2 Configuration de. 3 en cours... cluster C. Cavet Big Data : cluster
virtuel cluster OS : Image disque customisée CentOS 6.4. Espace disque de 24 GB. Contextualisation : StratusLab et CloudInit. : 2 MV : 1 master + 1 worker. chaque MV : 2 CPU, 4 GB de RAM, 40 GB (1TB comme objectif) de disque persistent. manager : Oracle Java JDK 1.6.0_33 cloudera-manager-* Base de données PostgreSQL. C. Cavet Big Data : cluster
de manager cluster v1.0.3 :... Entités présentes sur les noeuds : Master : NameNode, SecondaryNameNode et JobTracker. Worker : TaskTracker et DataNode. C. Cavet Big Data : cluster
de manager cluster Figure: Interface Web permettant de contrôler les différents services. C. Cavet Big Data : cluster
cluster HelloWorld de test et. Calcul : Compte le nombre d apparition d un mot. Fichiers Map et Reduce en Python streaming. Données en entrée : $ cat input.txt foo foo quux labs foo bar quux Copié sur. C. Cavet Big Data : cluster
cluster Job : $ hadoop jar /usr/lib/hadoop-0.20-mapreduce/contrib/streaming /hadoop-streaming-2.0.0-mr1-cdh4.2.0.jar -file mapper.py -mapper mapper.py -file reducer.py -reducer reducer.py -input /user/cloudera/data/input.txt -output result.txt C. Cavet Big Data : cluster
cluster Map : $ cat input.txt./mapper.py foo 1 foo 1 quux 1 labs 1 foo 1 bar 1 quux 1 association (clé, valeur). C. Cavet Big Data : cluster
cluster Traitement interne : $ cat input.txt./mapper.py sort -k1,1 bar 1 foo 1 foo 1 foo 1 labs 1 quux 1 quux 1 ordonne alphabétiquement la première colonne. C. Cavet Big Data : cluster
cluster $ cat input.txt./mapper.py sort -k1,1./reducer.py bar 1 foo 3 labs 1 quux 2 compte le nombre d apparition d un mot. C. Cavet Big Data : cluster
cluster Srirama et al., FGCS (2012). Algorithmes qui peuvent être adaptés à l exécution d un modèle de : Conjugate Gradient (CG) one iteration. Two different k-medoid clustering algorithms: Partitioning Around Medoids (PAM) one iteration. ing Large Application (CLARA) sequential execution. Factoring integers single execution, embarrassingly parallel algorithms. test et. C. Cavet Big Data : cluster
cluster C. Cavet Big Data : cluster
Bilan de cluster Avantages : Bonne montée en charge. Inconvénients : Structure des applications est très stricte. Réduire un algorithme complexe à un modèle n est pas triviale. Pas de garantie que l algorithme résultant soit effectif. Nécessité de bien choisir les applications. C. Cavet Big Data : cluster
: données SDSS Mesmoudi & Hacid, ACM (2013). Etude PetaSky test DB et Hive. Données en entrée : cluster C. Cavet Big Data : cluster
: données SDSS cluster Figure: Test de requête. C. Cavet Big Data : cluster
Bilan des bases de données NoSQL cluster Avantages : Passe à l échelle. Full-scan performant. En plein essor (gestion des index, inclusion SGDB...) Inconvénients : Jointures inefficaces (et interdites si > 2 tables). Paramétrisation difficile. Nécessité de bien choisir les applications. C. Cavet Big Data : cluster
Merci pour votre attention. cluster C. Cavet Big Data : cluster
SQL vs NoSQL Annexes SGBD Type de données C. Cavet Big Data : cluster
SQL vs NoSQL Annexes SGBD Type de données C. Cavet Big Data : cluster
Type de données Annexes SGBD Type de données Type de données Acquisi0on Stockage Traitement Visualisa0on Structurées Réplica/on Extrac/on Mise en forme Flots d évènements BD Mul/ples formats de données et de stockage transac/onnel Requêtes et traitement sur les BD (SQL/OLAP) Fédéra/on de requêtes sur des BD ou des systèmes de fichiers distribués Traitements légers Pas mal d ou/ls de visualisa/on Non structurées Transfert de fichiers Extrac/on à par/r de sources différentes Systèmes de fichier distribués Stockage des fichiers ini/aux Pré- traitement / Map- Reduce SQL difficile à définir Workflows de traitement pour produire de l informa/on Traitements lourds Besoins en post- traitements rapides et parallèles Des ou/ls de visualisa/on commencent à émerger Figure: Type de données (Deprez et al. (2012)). C. Cavet Big Data : cluster