Hadoop / Big Data. Benjamin Renaut MBDS

Dimension: px
Commencer à balayer dès la page:

Download "Hadoop / Big Data. Benjamin Renaut MBDS 2014-2015"

Transcription

1 Hadoop / Big Data Benjamin Renaut MBDS

2 6 map/reduce et Hadoop: exemples plus avancés

3 Exemple: parcours de graphe 6-1 On cherche à déterminer la profondeur maximale de tous les nœuds d'un graphe à partir d'un nœud de départ (via breadth-first search, parcours en largeur). Le graphe:

4 Exemple: parcours de graphe 6-2 Données d'entrée: (1;"2,5 GRIS 0") (2;"3,4 BLANC -1") (3;"6 BLANC -1") (4;" BLANC -1") (5;"6 BLANC -1") (6;" BLANC -1") avec valeur sur le modèle «NOEUDS_FILS COULEUR PROFONDEUR». Et couleur ayant pour valeur «BLANC» pour un nœud non parcouru, «GRIS» pour un nœud en cours de parcours, et «NOIR» pour un nœud déjà parcouru. Dans nos données d'entrée, l'unique nœud GRIS indique le nœud de départ.

5 Exemple: parcours de graphe 6-3 map: si le nœud du couple (clef;valeur) d'entrée est GRIS, alors: Pour chacun de ses fils, retourner (ID_FILS;" GRIS PROFONDEUR+1), où PROFONDEUR est la profondeur du nœud courant. Retourner également le couple (clef;valeur) courant, avec couleur=noir. Sinon: retourner le couple (clef;valeur) d'entrée. Pseudo code: SI NODE.COULEUR=="GRIS": POUR CHAQUE FILS DANS NODE.CHILDREN: FILS.COULEUR="GRIS" FILS.PROFONDEUR=NODE.PROFONDEUR+1 RENVOYER (FILS.ID;FILS) NODE.COULEUR="NOIR" RENVOYER (NODE.ID;NODE)

6 Exemple: parcours de graphe 6-4 reduce: parcourir chacune des valeurs associées à la clef unique (après shuffle). Renvoyer un couple (clef;noeud) avec un nœud dont: La profondeur est la plus haute rencontrée parmi les valeurs associées à cette clef unique (l'identifiant du nœud). La couleur est la plus «forte» parmi ces mêmes valeurs. La liste des nœuds enfants est la plus longue parmi ces valeurs. et pour clef la clef unique en question.

7 Exemple: parcours de graphe 6-5 Pseudo code: H_CHILDREN=""; H_PROF=-1; H_COULEUR="BLANC"; POUR CHAQUE VALEUR: SI VALEUR.CHILDREN.LENGTH()>H_CHILDREN.LENGTH(): H_CHILDREN=VALEUR.CHILDREN SI VALEUR.PROFONDEUR>H_PROF: H_PROF=VALEUR.PROFONDEUR SI VALEUR.COULEUR>H_COULEUR: H_COULEUR=VALEUR.COULEUR NODE=NOUVEAU NOEUD NODE.COULEUR=H_COULEUR NODE.CHILDREN=H_CHILDREN NODE.PROFONDEUR=H_PROF RENVOYER(CLEF;NODE)

8 Exemple: parcours de graphe 6-6 On exécute le programme map/reduce plusieurs fois, jusqu'à ce que tous les nœuds de la liste aient pour couleur la valeur «NOIR» <=> jusqu'à ce que tous les nœuds aient été parcourus. Ce type de logique s'implémente très facilement au sein d'un framework map/reduce (Hadoop).

9 Exemple: parcours de graphe 6-7 Premier lancement: Données d'entrée: (1;"2,5 GRIS 0") (2;"3,4 BLANC -1") (3;"6 BLANC -1") (4;" BLANC -1") (5;"6 BLANC -1") (6;" BLANC -1") Graphe:

10 Exemple: parcours de graphe 6-8 Pour ce premier lancement: Sortie de map: (1;"2,5 NOIR 0") (2;" GRIS 1") (5;" GRIS 1") (2;"3,4 BLANC -1") (3;"6 BLANC -1") (4;" BLANC -1") (5;"6 BLANC -1") (6;" BLANC -1") Sortie de reduce: Aprés shuffle: 1: ("2,5 NOIR 0") 2: (" GRIS 1"),("3,4 BLANC -1") 3: ("6 BLANC -1") 4: (" BLANC -1") 5: (" GRIS 1"),("6 BLANC -1") 6: (" BLANC -1") (1;"2,5 NOIR 0") (2;"3,4 GRIS 1") (3;"6 BLANC -1") (4;" BLANC -1") (5;"6 GRIS 1") (6;" BLANC -1")

11 Exemple: parcours de graphe 6-9 Lancement 2: Données: Graphe: (1;"2,5 NOIR 0") (2;"3,4 GRIS 1") (3;"6 BLANC -1") (4;" BLANC -1") (5;"6 GRIS 1") (6;" BLANC -1")

12 Exemple: parcours de graphe 6-10 Lancement 3: Données: Graphe: (1;"2,5 NOIR 0") (2;"3,4 NOIR 1") (3;"6 GRIS 2") (4;" GRIS 2") (5;"6 NOIR 1") (6;" GRIS 2")

13 Exemple: parcours de graphe 6-11 Après le lancement 3: Données de sortie: (1;"2,5 NOIR 0") (2;"3,4 NOIR 1") (3;"6 NOIR 2") (4;" NOIR 2") (5;"6 NOIR 1") (6;" NOIR 3") Graphe:

14 Exemple: parcours de graphe 6-12 Tous les nœuds ont tous désormais pour couleur la valeur «NOIR» ; le programme en charge de lancer la tâche map/reduce à répétition sur les données s arrête. On a ainsi effectué un parcours en largeur sur le graphe, parallélisable (parallel breadth-first search). A chaque étape de profondeur dans le parcours correspond l'exécution d'une tâche map/reduce avec une fonction map executée pour chaque nœud à chaque étape.

15 Conclusion 6-13 Applications courantes de map/reduce et Hadoop: Analyse de logs et données en général, validation de données, recoupements, filtrage, etc. => traitements sur des volumes de données massifs. Exécution de tâches intensives en CPU de manière distribuée (simulations scientifiques, encodage vidéo, etc.). et bien souvent les deux: tâches intensives en CPU sur des volumes de données massifs (entraînement de modèles en machine learning, etc.) Plus complexe, voire contre-productif à appliquer sur tout problème où la fragmentation des données d'entrée pose problème (en fait sur tout problème où la stratégie du diviser pour régner n'est pas viable).

16 7 Sqoop

17 Présentation 7-1 Comme on l'a vu, Hadoop accède aux données qu'il va traiter par le biais de HDFS, et stocke ses résultats au même endroit. Bien souvent, cependant, on va vouloir faire travailler Hadoop sur des données provenant d'une base de données traditionnelle (statistiques web, données provenant du backend d'une solution logicielle, etc.). Sqoop est un outil permettant de répondre à ce problème. Il vise à permettre de facilement transférer des données depuis des bases de données structurées (MySQL, PostgreSQL, Oracle, etc.) vers HDFS, et vice-versa. Projet Open Source de la fondation Apache, développé par des bénévoles depuis Son utilisation n'a cessé d'augmenter depuis et il est devenu un des projets phares de la fondation Apache en 2012.

18 Remarque 7-2 On parle ici de base de données structurée pour désigner les bases de données «classiques», avec des tables, des indexs, etc... Par opposition, HDFS fonctionne à partir de simples fichiers texte, sans aucun index. C'est une méthode sensiblement moins performante de stocker des données mais contrairement aux bases de données structurées, elle permet de stocker des quantités véritablement massives de données (plusieurs centaines de petaoctets si nécessaire). Il existe également des modèles hybrides de ces deux approches: des bases de données qui abandonnent l'idée de contraintes rigides telles que les tables, les relations, etc... mais proposent des fonctionnalités commes les indexs et stockent les données autour du concept de document, des blocs de données au format JSON, XML ou encore YAML et qui n'ont pas la contrainte de devoir tous respecter le même format et d'avoir tous les mêmes champs. Un exemple de ce type de base est MongoDB, un autre exemple est le projet Apache Cassandra.

19 Principe de fonctionnement 7-3 Sqoop est un outil en ligne de commande, au même titre que le client hadoop. Il est ainsi utilisable facilement au sein de scripts automatisés. Il peut non seulement importer le contenu d'une table située dans une base de données au sein de HDFS, mais également générer une classe Java toute prête, utilisable au sein d'un programme Hadoop, qui permet facilement d'accéder aux données qu'il a généré. Ainsi, si on souhaite par exemple manipuler les données provenant d'une table MySQL, on va demander à Sqoop de générer un fichier java permettant l'accés aux données qu'il exportera, et on utilisera ce fichier java au sein de notre programme Hadoop le.jar qu'on exécutera. Ensuite, il suffira à tout moment d'exécuter Sqoop pour importer la dernière version de nos données depuis la base, et de lancer notre programme Hadoop pour facilement manipuler ces données.

20 Principe de fonctionnement 7-4 Enfin, Sqoop est également capable d'importer des données depuis HDFS au sein d'une base de données. Cette fonctionnalité sera utilisée pour importer nos résultats au sein d'une table, et pouvoir ensuite par exemple les afficher depuis un backend. Par ailleurs, on peut également utiliser Sqoop pour procéder à de l'archivage de données. Si par exemple on a une table MySQL contenant un grand nombre de statistiques webs, on pourra par le biais d'une seule commande sauvegarder toutes les anciennes statistiques dans HDFS en profitant ainsi de sa capacité à conserver une très grande quantité de données, et de ses capacités de réplication. Ainsi, notre table MySQL restera lègere et les requêtes s'exécuteront rapidement, mais on gardera tout de même une trace de toutes les données passées.

21 Principe de fonctionnement 7-5 Sqoop utilise les connecteurs JDBC Java il gère donc un très grand nombre de SGBD différents (MySQL, Oracle, PostgreSQL, etc.). Il peut importer une table entière, ou encore le résultat d'une requête SQL (pour sélectionner seulement certains enregistrements). Il est extrêmement configurable: les champs à inclure dans l'importation, leur ordre, l'endroit où stocker les données, leur format, etc... sont des options configurables. Pour l'exécution d'un import ou d'un export de données, il créé une tâche map qu'il exécute via le cluster Hadoop local. Ainsi, la tâche d'importation ou d'exportation est exécutée en parallèle, en tirant partie de toute la puissance du cluster.

22 Formats de données 7-6 Sqoop gère trois formats distincts pour stocker les données sur HDFS: Sous forme de delimited text files: des fichiers texte humainement lisibles qui listent les champs de la base, séparés par des virgules (configurable). C'est l'option qu'on utilisera lorsque l'on souhaite garder un accès facile (humainement parlant) aux données qu'on exporte, et que les données situées en base ne sont pas binaires. Sous forme de sequence files: des fichiers binaires propres à Sqoop. C'est l'option qu'on utilisera si on souhaite manipuler les données depuis un programme Map/Reduce dans Hadoop, car les performances sont nettement supérieures aux fichiers textes. On se servira également de ce format pour les tables contenant des données binaires. Ce format ne sera cependant facilement lisible qu'avec la classe dédiée Java créée par Sqoop le lire depuis d'autres langages de programmation est complexe (format non trivial).

23 Formats de données 7-7 Sous forme de Avro data files: un autre format binaires, décrivant des données sérialisées. Contrairement aux sequence files, le format Avro est facilement lisible par le biais de librairies disponibles dans de nombreux autres langages de programmation (par le biais des librairies du projet Apache Avro). Ses performances sont légèrement inférieures aux sequence files, mais toujours largement supérieures au format texte. Dans les trois cas, la compression est supportée, avec plusieurs algorithmes possibles cette option diminuera sensiblement les performances de lecture mais permettra d'économiser l'espace occupé par les données sur HDFS. D'une manière générale, on retient qu'on utilisera le format texte pour garder les données sous un format facilement lisible (ou pour du debug), le format sequence files si on compte exploiter les données depuis un programme Hadoop «natif» (Java), et le format Avro si on compte les exploiter depuis un programme Hadoop rédigé dans un autre langage.

24 Exemple Format texte 7-8 Table en base de données contenant des élèves du MBDS (trois colonnes: id, nom et prénom). Aprés export Sqoop au format texte, un fichier sera créé sur HDFS contenant: 1,ARNAUD,Clément 2,BANGOURA,Mohamed Amy 3,BEATINI,Nathalie 4,BIGA,Anthony 5,CHAABANE,Mohamed 6,CHATTON,Jérémy 7,DA SILVA,David 8,DEMEURE,Guillaume [ ]

25 Fichier de sortie 7-9 Puisqu'un export Sqoop est une tâche Hadoop MAP, le résultat de l'export sera stocké dans une série de fichiers sous la forme: part-m part-m part-m etc... Par ailleurs, un fichier _SUCCESS est également créé pour confirmer que l'export a été réalisé correctement. Dans le cas où on choisit le format Avro, alors les noms de fichier seront identique mais porteront l'extension «.avro» (part-m avro, etc.). On peut préciser la taille limite, en octets, de chacun des fichiers fragments qui résultent de l'import.

26 Import 7-10 Pour importer des données depuis une base de données, la commande la plus basique est la suivante: sqoop import -connect [JDBC STRING] -username [USER] \ --password [PASSWORD] -table [TABLE] qui importera le contenu de la table [TABLE] depuis la base de données spécifiée dans un répertoire portant le nom de la table dans HDFS. Par exemple: sqoop import -connect jdbc:mysql://localhost/poemes \ -username hadoop -password h4d00p \ -table rose_reseda

27 Import - contraintes 7-11 On peut également importer des données selon une contrainte SQL WHERE: sqoop import -connect [JDBC STRING] -username [USER] \ --password [PASSWORD] -table [TABLE] \ --where [CONTRAINTE] par exemple avec "id>50" comme valeur de [CONTRAINTE]. On peut également choisir les champs à importer, avec l'option columns: sqoop import -connect [JDBC STRING] -username [USER] \ --password [PASSWORD] -table [TABLE] \ -columns COL1,COL2,COL3 ce qui permet également de définir l'ordre dans lequel les champs apparaitront dans les fichiers au format texte.

28 Import requêtes SQL 7-12 On peut également utiliser une requête SQL directement. Ce cas supporte notamment les jointures. On utilise pour ce faire l'option -query. En revanche, comme Sqoop va effectuer le traitement de manière parallèle, il faut lui laisser un espace au sein de la requête dans lequel il pourra ajouter une clause différenciante selon les nodes qui effectueront chacun un morceau de la requête «globale». On utilise pour ce faire le marqueur $CONDITIONS. Il est également nécessaire de lui indiquer quel champ résultant de la requête il peut utiliser pour distribuer le travail aux différents nœuds. Ce champs doit être tel qu'il permette à Sqoop de distribuer correctement le travail aux différents nœuds du cluster. Ce champ indiqué par l'option -split-by est souvent la clef primaire de la table/une des clefs primaires du set de résultat concerné.

29 Import requêtes SQL 7-13 La syntaxe: sqoop import -connect [JDBC STRING] -username [USER] \ --password [PASSWORD] -table [TABLE] \ -query [REQUETE INCLUANT $CONDITIONS] \ --split-by [COLONNE] Par exemple: sqoop import -connect jdbc: [ ] \ -query "SELECT a.id,a.nom FROM users a, wallet_content b \ where a.id==b.owner_id AND b.type==2 AND \$CONDITIONS" \ -split-by a.id...pour récupérer les infos des utilisateurs dont le wallet contient au moins un item de type «2».

30 Import incrémentaux 7-14 On peut également demander à Sqoop d'importer depuis une table uniquement les données qui ont été modifiées depuis le dernier import. Pour ce faire, on utilise les trois options suivantes: --incremental: indique le mode de vérification, qui peut avoir une des deux valeurs suivantes: append: Sqoop importera uniquement les nouveaux enregistrements dans la table, et seulement ceux pour lesquels le champs spécifié a au moins la valeur minimale spécifiée. Typiquement utilisée avec une clef primaire AUTO_INCREMENT (un id). lastmodified: Scoop importera tous les enregistrements dont le champs spécifié a eu une valeur mise à jour depuis le dernier import, supérieure à la précédente. Doit être utilisé avec un champs TIMESTAMP.

31 Import incrémentaux check-column: indique quel est le champ à vérifier lors de l'import incrémental. Dans le cas de append, il s'agit du champ numérique à contrôler. Dans le cas de lastmodified, il s'agit du champ TIMESTAMP à contrôler. --last-value: la dernière valeur à considérer pour le champs numérique (append) ou pour le timestamp (lastmodified). A la fin de l'exécution d'une tâche append, Sqoop affichera la prochaine valeur à utiliser pour le paramètre -last-value sur la sortie standard. On remarque que pour un import incrémental, on doit nécessairement utiliser un champ numérique ou un champ traduisant une date (TIMESTAMP, DATE, etc.). Remarque: la syntaxe des imports incrémentaux peut être couplée à des tâches sauvegardées Sqoop, qu'on peut rappeler à tout moment, pour simplifier grandement la vie de l'utilisateur. Elles seront abordées un peu plus loin dans le cours.

32 Import incrémentaux exemples 7-16 Exemple: sqoop import -connect jdbc: [ ] \ --table statistiques -incremental append \ -check-column id -last-value pour importer les statistiques qui ont un id supérieur ou égal à 353. On remarque qu'on aurait également pu utiliser -where "id>=353". Un second exemple: sqoop import -connect jdbc: [ ] \ --table users -incremental lastmodified \ -check-column last_login -last-value pour importer les utilisateurs qui se sont identifiés sur le backend récemment (>= au timestamp ), en mettant à jour ceux qu'on avait déjà importé.

33 Autres options utiles 7-17 Quelques autres options utiles de Sqoop: --outdir [DIR] : normalement, Sqoop génère le fichier Java qui permet d'accéder aux données facilement depuis un programme hadoop directement dans le répertoire courant. Cette option permet de lui indiquer un autre répertoire où il doit le sauvegarder. Dans tous les cas, le nom de fichier correspond au nom de la table (par exemple members.java pour une table members, etc.). --package-name [PKG] : permet de définir un package Java pour le code autogénéré par Sqoop. En temps normal, Sqoop génère simplement une classe portant le nom de la table (IE, classe members dans members.java). Cette option permet de spécifier un nom de package complet (par exemple, org.mbds.hadoop.members).

34 Autres options utiles target-dir [DIR] : indique à Sqoop l'emplacement où stocker les données importées dans HDFS (par exemple, /data). --warehouse-dir [DIR] : alternative à -target-dir; indique à Sqoop un répertoire global où il créera un répertoire par table importée, en stockant les fichiers d'importation de chaque table dans le répertoire qui lui correspond. Cette option est notamment utile lorsque l'on souhaite importer plusieurs tables à la fois. Remarque: on ne peut pas utiliser -target-dir et - warehouse-dir en même temps. --fields-terminated-by [DELIM] : permet d'indiquer une alternative au caractère de délimitation des champs par défaut (virgule ','). --lines-terminated-by [DELIM] : même chose pour les lignes/records (au lieu d'un retour à la ligne).

35 Autres options utiles as-avrodatafile : indique à Sqoop qu'on souhaite stocker les résultats au format Avro. --as-sequencefile : indique à Scoop qu'on souhaite stocker les résultats au format sequence file. --as-textfile : indique à Scoop qu'on souhaite stocker les résultats au format texte (utilisé par défaut). --direct : utilise le mode d'importation direct une version plus rapide de l'import pour certains SGBD (par exemple, pour MySQL, utilise l'outil interne mysqldump au lieu de contacter la base «manuellement»). --compress : active la compression de fichiers (par défaut en gzip).

36 Autres options utiles compression-codec [CODEC] : spécifie l'algorithme de compression à utiliser. Valeurs possibles: gzip, bzip2. Par défaut, gzip. -m [MAPPERS] : indique le nombre d'opérations Map lancées en parallèle pour un import/un export. Permet d'ajuster le parallélisme de l'opération. Remarque: il existe de nombreuses autres options disponibles pour Sqoop certaines plus utiles que d'autres. Pour plus d'informations, se référer à la documentation officielle de Sqoop:

37 Importer plusieurs tables 7-21 Pour importer toutes les tables (ou plusieurs tables à la fois) grâce à Sqoop, on utilise la commande import-all-tables. Syntaxe: sqoop import-all-tables -connect jdbc: [ ] \ --exclude-tables TABLE1,TABLE2 L'option -exclude-tables permet d'exclure certaines tables de la base de données. C'est typiquement avec cette commande qu'on utilisera l'option -warehousedir vue précédemment elle permettra à Sqoop de créer un répertoire par table importée, en stockant les fichiers de données à l'intérieur de chacun des répertoires concernés.

38 Export 7-22 Afin d'effectuer l'opération inverse, c'est à dire exporter des données depuis HDFS vers la table d'une base de données, on va utiliser la commande Sqoop export. Le format des données doit impérativement être un format supporté par Sqoop (et on doit lui indiquer lequel avec les options vues précédemment). La plupart des options de import sont également disponibles pour la commande export: --connect, --username, --password, etc... L'option -table est elle aussi disponible, mais elle indique cette fois la table dans laquelle on souhaite exporter les données. Enfin, on précise le répertoire contenant les fichiers à exporter (des fichiers part-r-00000, part-r-00001, etc.) avec l'option -export-dir.

39 Export 7-23 Par ailleurs, on dispose de deux modes possibles pour l'exportation, à préciser à l'aide de l'option - update-mode: updateonly : avec cette valeur, Sqoop n'exportera pas les enregistrements pour lesquels un enregistrement n'existe pas déjà avec la même clef primaire/les mêmes champs clef (paramétrables). C'est l'option par défaut. allowinsert : avec cette valeur, Sqoop aura le même comportement mais si un enregistrement n'existe pas déjà dans la table, il en insérera un nouveau. C'est avec l'option -update-key qu'on va pouvoir préciser le champ que Sqoop doit regarder pour déterminer si oui ou non un enregistrement existe déjà. On peut par ailleurs spécifier plusieurs champs «clef» à vérifier, séparés par des virgules.

40 ...chargera les résultats situé dans /members sur HDFS dans la table members. Si un enregistrement n'est pas trouvé pour le couple de champs nom/prenom, Sqoop insérera de nouveaux enregistrements dans la table. Exemples 7-24 Deux exemples: sqoop export -connect jdbc: [ ] \ --export-dir /results -table results \ -update-mode updateonly -update-key id chargera les fichiers résultats situés dans le répertoire HDFS /results dans la table results de la base de données. Si un enregistrement existant n'est pas trouvé pour le champ id, alors l'enregistrement à exporter ne sera pas inséré. sqoop export -connect jdbc: [ ] \ --export-dir /members -table members \ -update-mode insert -update-key nom,prenom

41 Code auto-généré 7-25 Comme on l'a indiqué précédemment, Sqoop génère un code à partir des enregistrements qu'il importe depuis la base de données dans HDFS. Il s'agit d'une classe unique, par table, qui désigne un enregistrement de la table. En réalité, cette classe implémente l'interface Hadoop Writable, exactement comme tous les types Hadoop vus précédemment: IntWritable, Text, etc... Autrement dit, simplement en important cette classe auto-générée dans son code, on peut directement se servir des données reçues en entrée (et qui sont présentes sur HDFS et proviennent de HDFS) comme d'une clef ou d'une valeur dans nos opération Map ou Reduce. Exemple de définition de classe auto-générée: public class members extends SqoopRecord implements DBWritable, Writable {

42 8 Connecteurs HDFS en temps réel

43 Présentation 8-1 On a présenté Sqoop, un outil polyvalent qui permet d'importer ou d'exporter des données entre HDFS et les bases de données «classiques» (Oracle, MySQL, PostgreSQL, etc...). Sqoop est extrêmement utile pour faire des échanges entre les bases de données et HDFS. Il s'agit cependant d'un outil utilisé pour des échanges de données ponctuels: on s'en servira par exemple pour effectuer des traitements Hadoop sur les données de la base toutes les nuits, ou encore toutes les N minutes, etc... en ré-important éventuellement les données dans la base après traitement. Il y a cependant des cas d'utilisation où on souhaite pouvoir échanger des données entre une base de données et la couche HDFS en temps réel. Par exemple, on pourrait avoir des retours statistiques sur un large réseau social depuis un backend centralisé, dont les données nécessitent des traitements massifs par le biais de Hadoop.

44 Les connecteurs 8-2 On pourrait imaginer utiliser un outil comme Sqoop de manière continue, en lançant en permanence la même tâche Sqoop. Cependant, pendant que la tâche s'exécute, de nouvelles données peuvent apparaître; par ailleurs, la charge appliquée au SGBD serait conséquente et provoquerait de potentiels problèmes d accès aux bases (LOCK des tables). Pour répondre à ce problème, la plupart des bases de données largement utilisées ont développé des points d'intégration entre les SDBG et HDFS. On désigne souvent ces points d'intégration en parlant de connecteurs Hadoop. On voit également les termes applier ou encore bridges. Ces connecteurs ont tous en commun la capacité d'écrire sur HDFS les données de la base en permanence, au fur et à mesure. Parfois, ils sont aussi capables de répliquer des modifications faites sur HDFS dans la base de données.

45 MySQL applier for Hadoop 8-3 Dans le cas de MySQL, le connecteur est le MySQL applier for Hadoop d'oracle. Il fonctionne en tirant partie des binary logs de MySQL les logs binaires que MySQL peut générer (si activé) en permanence et qui indiquent toutes les modifications faites sur la base de données. Ce sont ces mêmes binary logs qui sont utilisés pour les mécanismes de réplication MySQL classiques (entre nœuds MySQL). Le connecteur génère un répertoire par base de données sur HDFS. A l'intérieur de ce répertoire, il créé un répertoire différent par table présente dans la base de données. Enfin, à l'intérieur de ces répertoires, il génère des séries de fichiers contenant les données de la table concernée. Le format des fichiers est configurable: format texte ou format binaire sequence files (les mêmes que ceux vus avec Sqoop).

46 MySQL applier for Hadoop 8-4 (source: documentation MySQL)

47 (source: documentation MySQL) MySQL applier for Hadoop 8-5

48 Oracle SQL connector for HDFS 8-6 Dans le cas de Oracle, le connecteur est le Oracle SQL connector for HDFS. Il est sensiblement plus puissant que le connecteur de MySQL; notamment, il est capable de lire des données depuis HDFS qui ont été générées par des programmes Hadoop. Il fonctionne en utilisant le mécanisme des tables externes Oracle: des «tables» virtuelles Oracles qui désignent en réalité des données situées en dehors du SGBD. Pour connecter des dossiers ou fichiers HDFS à Oracle, il suffit de créer ces tables externes en définissant un schéma de données bien précis (comme pour une table classique). Ce schéma correspond à un format de données situé sur HDFS. Il est même possible d'effectuer des jointures entre des tables Oracle «classiques» et des tables virtuelles qui correspondent à des données sur HDFS.

49 Oracle SQL connector for HDFS 8-7 Le connecteur Oracle est capable de stocker les données sous HDFS dans deux formats principaux: un format texte, similaire au format texte utilisé dans Sqoop et le connecteur MySQL et humainement lisible, ou un format binaire. Le format binaire en question n'est pas celui des sequences files vu précédemment, mais un format propre à Oracle et désigné sous le terme de data dumps. Oracle fourni par ailleurs des APIs Java nécessaires pour accéder simplement et rapidement aux données stockées dans ce format de la même manière que pour des Sequence Files. Ces APIs définissent notamment des classes Input/OutputFormat Hadoop, de la même manière que par exemple la classe Hadoop SequenceFileInputFormat vue en TP. On peut donc se servir de ces classes comme d'un format d'entrée pour une tâche Hadoop, ou d'un format de sortie, toujours sur HDFS.

50 Autres connecteurs et modèles 8-8 Il existe de nombreux autres connecteurs permettant l'accés à des données situées dans une base de données depuis Hadoop certains propriétaires et commerciaux, d'autres Open Source et librement disponibles. D'autres connecteurs évitent complètement HDFS Hadoop va alors récupérer ses données dans le SGBD directement lors de l'exécution d'une tâche. Il suffit au programmeur d'utiliser une autre API pour préciser à Hadoop la source de ses données. Exemple: VoltDB. Il s'agit d'un SGBD Open Source innovant qui utilise un stocke ses données en mémoire vive (un peu comme le moteur MEMORY de MySQL), de manière distribuée et répliquée, et constitue ainsi une alternative à HDFS. Il propose des APIs Java pour l'accés aux données depuis Hadoop, et offre ainsi l'avantage de pouvoir directement s'intégrer à Hadoop et venir «remplacer» HDFS.

Hadoop / Big Data. Benjamin Renaut MBDS 2014-2015

Hadoop / Big Data. Benjamin Renaut <renaut.benjamin@tokidev.fr> MBDS 2014-2015 Hadoop / Big Data Benjamin Renaut MBDS 2014-2015 TP 3 TP noté Méthodologie Map/Reduce - programmation Hadoop - Sqoop Préparation du TP 1 Importer la machine virtuelle.ova du

Plus en détail

Programmation parallèle et distribuée (Master 1 Info 2015-2016)

Programmation parallèle et distribuée (Master 1 Info 2015-2016) Programmation parallèle et distribuée (Master 1 Info 2015-2016) Hadoop MapReduce et HDFS Note bibliographique : ce cours est largement inspiré par le cours de Benjamin Renaut (Tokidev SAS) Introduction

Plus en détail

Hadoop / Big Data. Benjamin Renaut MBDS 2014-2015

Hadoop / Big Data. Benjamin Renaut <renaut.benjamin@tokidev.fr> MBDS 2014-2015 Hadoop / Big Data Benjamin Renaut MBDS 2014-2015 TP 1 - Correction Méthodologie Map/Reduce - programmation Hadoop. Rappel 1 La première partie du TP consistait à mettre en

Plus en détail

Hadoop / Big Data. Benjamin Renaut MBDS 2014-2015

Hadoop / Big Data. Benjamin Renaut <renaut.benjamin@tokidev.fr> MBDS 2014-2015 Hadoop / Big Data Benjamin Renaut MBDS 2014-2015 TP 1 Méthodologie Map/Reduce - programmation Hadoop. 1 Installer VirtualBox (https://www.virtualbox.org/). Importer la machine

Plus en détail

Importation et exportation de données dans HDFS

Importation et exportation de données dans HDFS 1 Importation et exportation de données dans HDFS Introduction Dans une installation type, Hadoop se trouve au cœur d un flux de données complexe. Ces données proviennent souvent de systèmes disparates

Plus en détail

MongoDB. Objectif Découvrir l'aggrégation des requêtes, l'indexation, la réplication et l'autosharding sur MongoDB

MongoDB. Objectif Découvrir l'aggrégation des requêtes, l'indexation, la réplication et l'autosharding sur MongoDB ESIPE IR3 - IG3 Cloud Computing #3 MongoDB Objectif Découvrir l'aggrégation des requêtes, l'indexation, la réplication et l'autosharding sur MongoDB Révisions Téléchargez depuis le site le fichier ex.tgz.

Plus en détail

Avant-propos. Organisation du livre

Avant-propos. Organisation du livre Avant-propos Avec Hadoop par la pratique, les développeurs vont apprendre à maîtriser Hadoop et vont acquérir de nombreuses compétences sur la résolution de problèmes à l aide de ce framework. Ils vont

Plus en détail

Big Data. Cyril Amsellem Consultant avant-vente. 16 juin 2011. Talend 2010 1

Big Data. Cyril Amsellem Consultant avant-vente. 16 juin 2011. Talend 2010 1 Big Data Cyril Amsellem Consultant avant-vente 16 juin 2011 Talend 2010 1 Big Data Architecture globale Hadoop Les projets Hadoop (partie 1) Hadoop-Core : projet principal. HDFS : système de fichiers distribués

Plus en détail

MapReduce. Malo Jaffré, Pablo Rauzy. 16 avril 2010 ENS. Malo Jaffré, Pablo Rauzy (ENS) MapReduce 16 avril 2010 1 / 15

MapReduce. Malo Jaffré, Pablo Rauzy. 16 avril 2010 ENS. Malo Jaffré, Pablo Rauzy (ENS) MapReduce 16 avril 2010 1 / 15 MapReduce Malo Jaffré, Pablo Rauzy ENS 16 avril 2010 Malo Jaffré, Pablo Rauzy (ENS) MapReduce 16 avril 2010 1 / 15 Qu est ce que c est? Conceptuellement Données MapReduce est un framework de calcul distribué

Plus en détail

KARMA Le système de Revenue Management d'air France KLM avec Hadoop

KARMA Le système de Revenue Management d'air France KLM avec Hadoop KARMA Le système de Revenue Management d'air France KLM avec Hadoop Conférence BIG DATA - Master MBDS Université de Nice Sophia Antipolis 16 Décembre 2014 Martial AYAS maayas@airfrance.fr 2 Agenda 1. Présentation

Plus en détail

Programmation parallèle et distribuée

Programmation parallèle et distribuée Programmation parallèle et distribuée (GIF-4104/7104) 5a - (hiver 2015) Marc Parizeau, Département de génie électrique et de génie informatique Plan Données massives («big data») Architecture Hadoop distribution

Plus en détail

XML et Bases de données. XMLType Oracle XML DB

XML et Bases de données. XMLType Oracle XML DB Oracle XML DB Oracle XML DB Depuis la version 9i et de façon enrichie dans la version 10g, Oracle propose des outils pour gérer des documents XML Depuis la 10g il n'y a plus d'extraction car auparavant

Plus en détail

Hadoop / Big Data. Benjamin Renaut MBDS 2014-2015

Hadoop / Big Data. Benjamin Renaut <renaut.benjamin@tokidev.fr> MBDS 2014-2015 Hadoop / Big Data Benjamin Renaut MBDS 2014-2015 9 Apache Pig Présentation 9-1 Pig est un autre outil associé à Hadoop au même titre que Sqoop. Son but est de permettre de

Plus en détail

Programmation parallèle et distribuée

Programmation parallèle et distribuée Programmation parallèle et distribuée (GIF-4104/7104) 5a - (hiver 2014) Marc Parizeau, Département de génie électrique et de génie informatique Plan Mégadonnées («big data») Architecture Hadoop distribution

Plus en détail

Les technologies du Big Data

Les technologies du Big Data Les technologies du Big Data PRÉSENTÉ AU 40 E CONGRÈS DE L ASSOCIATION DES ÉCONOMISTES QUÉBÉCOIS PAR TOM LANDRY, CONSEILLER SENIOR LE 20 MAI 2015 WWW.CRIM.CA TECHNOLOGIES: DES DONNÉES JUSQU'À L UTILISATEUR

Plus en détail

Fouillez facilement dans votre système Big Data. Olivier TAVARD

Fouillez facilement dans votre système Big Data. Olivier TAVARD Fouillez facilement dans votre système Big Data Olivier TAVARD A propos de moi : Cofondateur de la société France Labs Développeur (principalement Java) Formateur en technologies de moteurs de recherche

Plus en détail

avec nos solutions spécialisées pour la microfinance et ses institutions coopératives Big Data

avec nos solutions spécialisées pour la microfinance et ses institutions coopératives Big Data avec nos solutions spécialisées pour la microfinance et ses institutions coopératives Big Data Historique de Big data Jusqu à l avènement d Internet et surtout du Web 2.0 il n y avait pas tant de données

Plus en détail

Hadoop / Big Data. Benjamin Renaut MBDS 2013-2014

Hadoop / Big Data. Benjamin Renaut <renaut.benjamin@tokidev.fr> MBDS 2013-2014 Hadoop / Big Data Benjamin Renaut MBDS 2013-2014 1 Introduction Programme Planning Objectifs TP/Évaluations Introduction 1-1 Benjamin Renaut Tokidev SAS - Bureau d'étude -

Plus en détail

Le Langage De Description De Données(LDD)

Le Langage De Description De Données(LDD) Base de données Le Langage De Description De Données(LDD) Créer des tables Décrire les différents types de données utilisables pour les définitions de colonne Modifier la définition des tables Supprimer,

Plus en détail

Introduction à JDBC. Accès aux bases de données en Java

Introduction à JDBC. Accès aux bases de données en Java Introduction à JDBC Accès aux bases de données en Java Eric Cariou Université de Pau et des Pays de l'adour Département Informatique Eric.Cariou@univ-pau.fr 1 Introduction JDBC : Java Data Base Connectivity

Plus en détail

NoSQL. Introduction 1/23. I NoSQL : Not Only SQL, ce n est pas du relationnel, et le contexte. I table d associations - Map - de couples (clef,valeur)

NoSQL. Introduction 1/23. I NoSQL : Not Only SQL, ce n est pas du relationnel, et le contexte. I table d associations - Map - de couples (clef,valeur) 1/23 2/23 Anne-Cécile Caron Master MIAGE - BDA 1er trimestre 2013-2014 I : Not Only SQL, ce n est pas du relationnel, et le contexte d utilisation n est donc pas celui des SGBDR. I Origine : recherche

Plus en détail

1. Qu'est-ce que SQL?... 2. 2. La maintenance des bases de données... 2. 3. Les manipulations des bases de données... 5

1. Qu'est-ce que SQL?... 2. 2. La maintenance des bases de données... 2. 3. Les manipulations des bases de données... 5 1. Qu'est-ce que SQL?... 2 2. La maintenance des bases de données... 2 2.1 La commande CREATE TABLE... 3 2.2 La commande ALTER TABLE... 4 2.3 La commande CREATE INDEX... 4 3. Les manipulations des bases

Plus en détail

Sage 100 CRM Guide de l Import Plus avec Talend Version 8. Mise à jour : 2015 version 8

Sage 100 CRM Guide de l Import Plus avec Talend Version 8. Mise à jour : 2015 version 8 Sage 100 CRM Guide de l Import Plus avec Talend Version 8 Mise à jour : 2015 version 8 Composition du progiciel Votre progiciel est composé d un boîtier de rangement comprenant : le cédérom sur lequel

Plus en détail

Hadoop / Big Data 2014-2015 MBDS. Benjamin Renaut

Hadoop / Big Data 2014-2015 MBDS. Benjamin Renaut <renaut.benjamin@tokidev.fr> Hadoop / Big Data Benjamin Renaut MBDS 2014-2015 1 Introduction Programme Planning Objectifs TP/Évaluations Introduction 1-1 Benjamin Renaut Tokidev SAS - Bureau d'étude -

Plus en détail

Cahier de charges (Source : "Java EE - Guide de développement d'applications web en Java" par Jérôme Lafosse) Module. Site Web dynamique JSP / Servlet

Cahier de charges (Source : Java EE - Guide de développement d'applications web en Java par Jérôme Lafosse) Module. Site Web dynamique JSP / Servlet Cahier de charges (Source : "Java EE - Guide de développement d'applications web en Java" par Jérôme Lafosse) Module Site Web dynamique JSP / Servlet Sujet : betaboutique Soutenance le 04 / 01 /2013 &

Plus en détail

Introduction aux bases de données NoSQL

Introduction aux bases de données NoSQL Introduction aux bases de données NoSQL Khaled Tannir ets@khaledtannir.net Montréal - 23 Juillet 2015 Qui suis-je? Khaled TANNIR Big Data Architect Lead 20 ans d expérience ets@khaledtannir.net @khaled_tannir

Plus en détail

Mysql. Les requêtes préparées Prepared statements

Mysql. Les requêtes préparées Prepared statements Mysql Les requêtes préparées Prepared statements Introduction Les prepared statements côté serveur sont une des nouvelles fonctionnalités les plus intéressantes de MySQL 4.1 (récemment sorti en production

Plus en détail

Réplication E-maj Foreign Data Wrapper PostGIS PostgreSQL-f

Réplication E-maj Foreign Data Wrapper PostGIS PostgreSQL-f PGDay Réplication E-maj Foreign Data Wrapper PostGIS PostgreSQL-f Réplication Réplications, disponibilités, durabilités Evolution dans la base de données : Postgres 8.2 : warm standby Postgres 9.0 : hot

Plus en détail

I. MySQL : Serveur et SGBD

I. MySQL : Serveur et SGBD Le Système de Gestion de Base de Données MySQL I. MySQL : Serveur et SGBD Menu I. MySQL : Serveur et SGBG II. Création d'une base de données avec MySQL MySQL est un système de gestion et conception de

Plus en détail

HADOOP ET SON ÉCOSYSTÈME

HADOOP ET SON ÉCOSYSTÈME HADOOP ET SON ÉCOSYSTÈME Mars 2013 2012 Affini-Tech - Diffusion restreinte 1 AFFINI-TECH Méthodes projets Outils de reporting & Data-visualisation Business & Analyses BigData Modélisation Hadoop Technos

Plus en détail

NoSQL. Introduction 1/30. I NoSQL : Not Only SQL, ce n est pas du relationnel, et le contexte. I table d associations - Map - de couples (clef,valeur)

NoSQL. Introduction 1/30. I NoSQL : Not Only SQL, ce n est pas du relationnel, et le contexte. I table d associations - Map - de couples (clef,valeur) 1/30 2/30 Anne-Cécile Caron Master MIAGE - SGBD 1er trimestre 2014-2015 I : Not Only SQL, ce n est pas du relationnel, et le contexte d utilisation n est donc pas celui des SGBDR. I Origine : recherche

Plus en détail

AVRIL 2014. Au delà de Hadoop. Panorama des solutions NoSQL

AVRIL 2014. Au delà de Hadoop. Panorama des solutions NoSQL AVRIL 2014 Panorama des solutions NoSQL QUI SOMMES NOUS? Avril 2014 2 SMILE, EN QUELQUES CHIFFRES 1er INTÉGRATEUR EUROPÉEN DE SOLUTIONS OPEN SOURCE 3 4 NOS EXPERTISES ET NOS CONVICTIONS DANS NOS LIVRES

Plus en détail

PHP & BD. PHP & Bases de données. Logiciels & matériels utilisés. Bases de données et Web

PHP & BD. PHP & Bases de données. Logiciels & matériels utilisés. Bases de données et Web PHP & Bases de données La quantité de données utilisée par certains sites web nécessite l'utilisation d'une base de données Il faut donc disposer d'un SGBD (mysql, postgresql, oracle, ) installé sur un

Plus en détail

Certificat Big Data - Master MAthématiques

Certificat Big Data - Master MAthématiques 1 / 1 Certificat Big Data - Master MAthématiques Master 2 Auteur : Sylvain Lamprier UPMC Fouille de données et Medias Sociaux 2 / 1 Rich and big data: Millions d utilisateurs Millions de contenus Multimedia

Plus en détail

1. Installation du Module

1. Installation du Module 1 sur 10 Mise en place du Module Magento V 1.5.7 1. Installation du Module Vous pouvez installer le module de deux façons différentes, en passant par Magento Connect, ou directement via les fichiers de

Plus en détail

1. LA GESTION DES BASES DE DONNEES RELATIONNELLES

1. LA GESTION DES BASES DE DONNEES RELATIONNELLES Dossier G11 - Interroger une base de données La base de données Facturation contient tout un ensemble d'informations concernant la facturation de la SAFPB (société anonyme de fabrication de produits de

Plus en détail

MOTEUR DE WORKFLOW Mise en oeuvre d'openwfe Version 1.0-25 septembre 2006

MOTEUR DE WORKFLOW Mise en oeuvre d'openwfe Version 1.0-25 septembre 2006 MOTEUR DE WORKFLOW Mise en oeuvre d'openwfe Version 1.0-25 septembre 2006 SOMMAIRE 1 AVANT PROPOS...3 2 PRÉSENTATION...4 2.1 Quelques définitions...4 2.2 Besoins d'intégration d'un moteur de workflow...4

Plus en détail

Initiation aux bases de données (SGBD) Walter RUDAMETKIN

Initiation aux bases de données (SGBD) Walter RUDAMETKIN Initiation aux bases de données (SGBD) Walter RUDAMETKIN Bureau F011 Walter.Rudametkin@polytech-lille.fr Moi Je suis étranger J'ai un accent Je me trompe beaucoup en français (et en info, et en math, et...)

Plus en détail

8. Java et les bases de données. Olivier Curé - UMLV [page 206 ]

8. Java et les bases de données. Olivier Curé - UMLV [page 206 ] 8. Java et les bases de données Olivier Curé - UMLV [page 206 ] Java et les BD Plusieurs manières d'écrire du code Java accédant à une BD: Statement Level Interface (SLI) Solutions : SQLJ (SQL92) Call

Plus en détail

Auguria_PCM Product & Combination Manager

Auguria_PCM Product & Combination Manager Auguria_PCM Product & Combination Manager Guide utilisateurs v1.5 Auguria 9, rue Alfred Kastler 44300 NANTES FRANCE +33251135012 contact@auguria.net Plan 1 Description générale du module...3 2 Mise en

Plus en détail

Compte-rendu de projet de Système de gestion de base de données

Compte-rendu de projet de Système de gestion de base de données Compte-rendu de projet de Système de gestion de base de données Création et utilisation d'un index de jointure LAMBERT VELLER Sylvain M1 STIC Université de Bourgogne 2010-2011 Reponsable : Mr Thierry Grison

Plus en détail

Prototypage et évaluation de performances d un service de traçabilité avec une architecture distribuée basée sur Hadoop

Prototypage et évaluation de performances d un service de traçabilité avec une architecture distribuée basée sur Hadoop Julien Gerlier Siman Chen Rapport de projet de fin d étude ASR 2010/2011 Prototypage et évaluation de performances d un service de traçabilité avec une architecture distribuée basée sur Hadoop Encadrants

Plus en détail

Utilitaire d importation et d exportation de données pour NewWayService 4

Utilitaire d importation et d exportation de données pour NewWayService 4 Utilitaire d importation et d exportation de données pour NewWayService 4 Copyright 1996-2009 OroLogic Inc. http://www.orologic.com Révision 4.01 Table des matières I Table des matières Introduction à

Plus en détail

Tenrox. Guide d intégration Tenrox-Salesforce. Janvier 2012. 2012 Tenrox. Tous droits réservés.

Tenrox. Guide d intégration Tenrox-Salesforce. Janvier 2012. 2012 Tenrox. Tous droits réservés. Tenrox Guide d intégration Tenrox-Salesforce Janvier 2012 2012 Tenrox. Tous droits réservés. À propos de ce guide Le présent guide décrit les procédures nécessaires pour configurer les paramètres d intégration

Plus en détail

Memento MYSQL LINUX. Pour installer le serveur Mysql. Installer les paquets suivants :

Memento MYSQL LINUX. Pour installer le serveur Mysql. Installer les paquets suivants : Memento MYSQL LINUX Pour installer le serveur Mysql Installer les paquets suivants : Mysql-server (moteur de bases de données) Apache2 (serveur web si besoin) Php5 (langage de programmation permettant

Plus en détail

Intelligence d entreprise Guide de mise en route

Intelligence d entreprise Guide de mise en route Intelligence d entreprise Guide de mise en route 2013 Table des matières Guide de mise en route... 1 Rapports standard de Sage 50 Intelligence d'entreprise... 1 Accès aux rapports de Sage 50 Intelligence

Plus en détail

INTERCONNEXION ENOE / BCDI / E - SIDOC

INTERCONNEXION ENOE / BCDI / E - SIDOC INTERCONNEXION ENOE / BCDI / E - SIDOC 23/09/2014 ENOE : ENT de l'académie de Besançon Documentation sur les procédures à suivre pour mettre en place l authentification unique entre e-sidoc et ENOE. PRELIMINAIRE...

Plus en détail

MODE OPERATOIRE OPENOFFICE BASE

MODE OPERATOIRE OPENOFFICE BASE MODE OPERATOIRE OPENOFFICE BASE Openoffice Base est un SGBDR : Système de Gestion de Base de Données Relationnelle. L un des principaux atouts de ce logiciel est de pouvoir gérer de façon efficace et rapide

Plus en détail

Cours 8 Not Only SQL

Cours 8 Not Only SQL Cours 8 Not Only SQL Cours 8 - NoSQL Qu'est-ce que le NoSQL? Cours 8 - NoSQL Qu'est-ce que le NoSQL? Catégorie de SGBD s'affranchissant du modèle relationnel des SGBDR. Mouvance apparue par le biais des

Plus en détail

Plan de formation : Certification OCA Oracle 11g. Les administrateurs de base de données (DBA) Oracle gèrent les systèmes informatiques

Plan de formation : Certification OCA Oracle 11g. Les administrateurs de base de données (DBA) Oracle gèrent les systèmes informatiques Plan de formation : Certification OCA Oracle 11g Description Les administrateurs de base de données (DBA) Oracle gèrent les systèmes informatiques industriels les plus avancés. Cette formation permettra

Plus en détail

KUMARASAMY Sandirane Lemont Jérémy Fruitet Robin FOULARD Aymeric BTS 2 SLAM Compte-rendu PPE03 et PPE04

KUMARASAMY Sandirane Lemont Jérémy Fruitet Robin FOULARD Aymeric BTS 2 SLAM Compte-rendu PPE03 et PPE04 KUMARASAMY Sandirane Lemont Jérémy Fruitet Robin FOULARD Aymeric BTS 2 SLAM Compte-rendu PPE03 et PPE04 Environnement : Ce projet a été réalisé en deuxième année de BTS, il s'agit d'un travail de groupe

Plus en détail

Les bases de données relationnelles

Les bases de données relationnelles Bases de données NO SQL et SIG : d un existant restreint à un avenir prometteur CHRISTIAN CAROLIN, AXES CONSEIL CAROLIN@AXES.FR - HTTP://WWW.AXES.FR Les bases de données relationnelles constituent désormais

Plus en détail

Cours Web n o 7 MySQL et PHP

Cours Web n o 7 MySQL et PHP Introduction aux bases de données Cours Web n o 7 MySQL et PHP Sandrine-Dominique Gouraud (gouraud@lri.fr) Pierre Senellart (pierre@senellart.com) Semaine du 7 novembre 2005 S.-D. Gouraud, P. Senellart

Plus en détail

ORACLE 10G DISTRIBUTION ET REPLICATION. Distribution de données avec Oracle. G. Mopolo-Moké prof. Associé UNSA 2009/ 2010

ORACLE 10G DISTRIBUTION ET REPLICATION. Distribution de données avec Oracle. G. Mopolo-Moké prof. Associé UNSA 2009/ 2010 ORACLE 10G DISTRIBUTION ET REPLICATION Distribution de données avec Oracle G. Mopolo-Moké prof. Associé UNSA 2009/ 2010 1 Plan 12. Distribution de données 12.1 Génération des architectures C/S et Oracle

Plus en détail

DOSSIER D'ACTIVITES SUR LE PHP N 03 Créer une base de données MySQL avec PHPMyAdmin

DOSSIER D'ACTIVITES SUR LE PHP N 03 Créer une base de données MySQL avec PHPMyAdmin DOSSIER D'ACTIVITES SUR LE PHP N 03 Créer une base de données MySQL avec PHPMyAdmin Objectifs : Apprendre à l apprenant à lancer un serveur local «Apache» Apprendre à l'apprenant à lancer un serveur MySQL

Plus en détail

SQL MAP. Etude d un logiciel SQL Injection

SQL MAP. Etude d un logiciel SQL Injection Introduction Ce TP a pour but d analyser un outil d injection SQL, comprendre les vulnérabilités d une BD et de mettre en œuvre une attaque par injection SQL. Prise en main du logiciel SQLMap est un outil

Plus en détail

FileMaker 11. Guide ODBC et JDBC

FileMaker 11. Guide ODBC et JDBC FileMaker 11 Guide ODBC et JDBC 2004-2010 FileMaker, Inc. Tous droits réservés. FileMaker, Inc. 5201 Patrick Henry Drive Santa Clara, California 95054, Etats-Unis FileMaker est une marque de FileMaker,

Plus en détail

Panorama des solutions analytiques existantes

Panorama des solutions analytiques existantes Arnaud LAROCHE Julien DAMON Panorama des solutions analytiques existantes SFdS Méthodes et Logiciels - 16 janvier 2014 - Données Massives Ne sont ici considérés que les solutions autour de l environnement

Plus en détail

Prototypage et évaluation de performances d un service de traçabilité avec une architecture distribuée basée sur Hadoop

Prototypage et évaluation de performances d un service de traçabilité avec une architecture distribuée basée sur Hadoop Prototypage et évaluation de performances d un service de traçabilité avec une architecture distribuée basée sur Hadoop Soutenance de projet ASR 27/01/2011 Julien Gerlier Siman Chen Encadrés par Bruno

Plus en détail

Bases de données Page 1 de 11. Bases de données. Prof. : Dzenan Ridjanovic

Bases de données Page 1 de 11. Bases de données. Prof. : Dzenan Ridjanovic Bases de données Page 1 de 11 1- Objectifs généraux Bases de données Prof. : Dzenan Ridjanovic acquérir les principes et concepts fondamentaux dans le domaine des bases de données; développer les connaissances

Plus en détail

NFA 008. Introduction à NoSQL et MongoDB 25/05/2013

NFA 008. Introduction à NoSQL et MongoDB 25/05/2013 NFA 008 Introduction à NoSQL et MongoDB 25/05/2013 1 NoSQL, c'est à dire? Les bases de données NoSQL restent des bases de données mais on met l'accent sur L'aspect NON-relationnel L'architecture distribuée

Plus en détail

Formation Cloudera Data Analyst Utiliser Pig, Hive et Impala avec Hadoop

Formation Cloudera Data Analyst Utiliser Pig, Hive et Impala avec Hadoop Passez au niveau supérieur en termes de connaissance grâce à la formation Data Analyst de Cloudera. Public Durée Objectifs Analystes de données, business analysts, développeurs et administrateurs qui ont

Plus en détail

Documentation technique MBDS2.0 Site web administratif

Documentation technique MBDS2.0 Site web administratif Documentation technique MBDS2.0 Site web administratif Le document suivant est destiné aux développeurs souhaitant installer la plateforme sur leurs propres machines. D o c u m e n t a t i o n t e c h

Plus en détail

PostgreSQL. Formations. Catalogue 2011. Calendrier... 8

PostgreSQL. Formations. Catalogue 2011. Calendrier... 8 Formations PostgreSQL Catalogue 2011 Administration PostgreSQL... 2 PostgreSQL Avancé... 3 PostgreSQL Réplication : Hot Standby... 4 Développer avec PostgreSQL... 5 Migration Oracle vers PostgreSQL...

Plus en détail

PORTAIL INTERNET DE LA GESTION PUBLIQUE Guide d'utilisation du Portail Internet de la Gestion Publique

PORTAIL INTERNET DE LA GESTION PUBLIQUE Guide d'utilisation du Portail Internet de la Gestion Publique PORTAIL INTERNET DE LA GESTION PUBLIQUE Guide d'utilisation du Portail Internet de la Gestion Publique Cette documentation s'adresse aux utilisateurs travaillant avec le navigateur Internet Explorer et

Plus en détail

Failles web : Les bases

Failles web : Les bases Failles utilisant les sites web comme support Ciblant soit les serveurs soit les visiteurs Dangereuses car simples à assimiler Objectifs : Vol de données Défaçage Rendre indisponible un site Utiliser le

Plus en détail

Département Génie Informatique

Département Génie Informatique Département Génie Informatique BD51 : Business Intelligence & Data Warehouse Projet Rédacteur : Christian FISCHER Automne 2011 Sujet : Développer un système décisionnel pour la gestion des ventes par magasin

Plus en détail

Compte Rendu d intégration d application

Compte Rendu d intégration d application ISMA 3EME ANNEE Compte Rendu d intégration d application Compte Rendu Final Maxime ESCOURBIAC Jean-Christophe SEPTIER 19/12/2011 Table des matières Table des matières... 1 Introduction... 3 1. Le SGBD:...

Plus en détail

Comparaison de tables à distance

Comparaison de tables à distance Rapport de recherche A/375/CRI Fabien Coelho fabien@coelho.net composé avec LAT E X, révision 463 du document 1 Fabien Coelho job enseignant-chercheur à MINES ParisTech ingénieur civil 1993, docteur en

Plus en détail

Architecture de la plateforme SBC

Architecture de la plateforme SBC Simple Business Connector Architecture de la plateforme SBC Titre Projet Description Architecture de la plateforme SBC Plateforme SBC Ce document reprend toutes les étapes de l'installation du serveur

Plus en détail

CONNECTEUR PRESTASHOP VTIGER CRM

CONNECTEUR PRESTASHOP VTIGER CRM CONNECTEUR PRESTASHOP VTIGER CRM Page 1 / 14 Vtiger CRM - Prestashop Connector Pour PRESTASHOP version 1.4.x et 1.5.x Pour vtiger CRM version 5.1, 5.2.0, 5.2.1, 5.3 et 5.4 Introduction En tant que gérant

Plus en détail

Microsoft OSQL OSQL ou l'outil de base pour gérer SQL Server

Microsoft OSQL OSQL ou l'outil de base pour gérer SQL Server Microsoft OSQL OSQL ou l'outil de base pour gérer SQL Server Suite à mon précédent article concernant MSDE, je me suis rendu compte à partir des commentaires que de nombreux utilisateurs avaient des problèmes

Plus en détail

BTS S.I.O. 2012-2013 PHP OBJET. Module SLAM4. Nom du fichier : PHPRévisionObjetV2.odt Auteur : Pierre Barais

BTS S.I.O. 2012-2013 PHP OBJET. Module SLAM4. Nom du fichier : PHPRévisionObjetV2.odt Auteur : Pierre Barais BTS S.I.O. 2012-2013 PHP OBJET Module SLAM4 Nom du fichier : PHPRévisionObjetV2.odt Auteur : Pierre Barais Table des matières 1 But... 3 2 Les bases :... 3 3 Utilisation d'une classe : Instanciation...3

Plus en détail

MySQL. (Administrateur) (Dernière édition) Programme de formation. France, Belgique, Suisse, Roumanie - Canada

MySQL. (Administrateur) (Dernière édition) Programme de formation. France, Belgique, Suisse, Roumanie - Canada MySQL (Administrateur) (Dernière édition) Programme de formation Microsoft Partner France, Belgique, Suisse, Roumanie - Canada WWW.SASGROUPE.COM Formez vos salariés pour optimiser la productivité de votre

Plus en détail

Introduction à Hadoop & MapReduce

Introduction à Hadoop & MapReduce Introduction à Hadoop & MapReduce Cours 2 Benjamin Renaut MOOC / FUN 2014-2015 5 Hadoop: présentation Apache Hadoop 5-1 Projet Open Source fondation Apache. http://hadoop.apache.org/

Plus en détail

OpenOffice Base Gestionnaire de Base de Données

OpenOffice Base Gestionnaire de Base de Données OpenOffice Base OpenOffice Base Gestionnaire de Base de Données Version 2.3 / 2.4.1 Module d'introduction Document de présentation Contributions : Charles BURRIEL, Pauline CONSTANT, Frédéric PIRARD Jeffrey

Plus en détail

Java DataBaseConnectivity

Java DataBaseConnectivity Java DataBaseConnectivity JDBC JDBC est une API Java (ensemble de classes et d interfaces défini par SUN et les acteurs du domaine des SGBD) permettant d accéder aux bases de données à l aide du langage

Plus en détail

Olivier Mondet http://unidentified-one.net

Olivier Mondet http://unidentified-one.net T-GSI Ch.4 Le Langage SQL LDD, LCD Cet exercice guidé reprend le plan suivis lors de l intervention de formation faite pour l académie de Versailles. L objectif principal visait en la présentation du langage

Plus en détail

TP1 Microsoft Access : base de donne es et tables V 1.2

TP1 Microsoft Access : base de donne es et tables V 1.2 TP1 Microsoft Access : base de donne es et tables V 1.2 Il est demandé de suivre pas à pas les indications de ce document. Les tâches bien spécifiques à réaliser sont écrites de cette manière : 1.x faire

Plus en détail

Les Utilisateurs dans SharePoint

Les Utilisateurs dans SharePoint Les Utilisateurs dans SharePoint La gestion des utilisateurs dans SharePoint SharePoint dont le cœur est l'outil collaboratif, Windows SharePoint Services. Chaque utilisateur (ou collaborateur) peut créer

Plus en détail

MYSQLDUMP & ZRM COMMUNITY

MYSQLDUMP & ZRM COMMUNITY Meetup Viadeo & LeMUG / Paris, November 16, 2011 MYSQLDUMP & ZRM COMMUNITY Scheduling and Monitoring Cédric PEINTRE www.mysqlplus.net 2 Sondage ancien mais toujours valide! mysqldump n est pas mort! Sauvegarde

Plus en détail

Introduction à MapReduce/Hadoop et Spark

Introduction à MapReduce/Hadoop et Spark 1 / 36 Introduction à MapReduce/Hadoop et Spark Certificat Big Data Ludovic Denoyer et Sylvain Lamprier UPMC Plan 2 / 36 Contexte 3 / 36 Contexte 4 / 36 Data driven science: le 4e paradigme (Jim Gray -

Plus en détail

PROCEDURE D'INSTALLATION OPENREPORTS

PROCEDURE D'INSTALLATION OPENREPORTS PROCEDURE D'INSTALLATION OPENREPORTS Table des matières Prérequis...2 1 Installation linux...2 2 Installation JAVA...3 2.1 Installation de la jdk...3 2.2 Configuration de l'environnement...3 3 Installation

Plus en détail

FreeAnalysis. Schema Designer. Cubes

FreeAnalysis. Schema Designer. Cubes FreeAnalysis Schema Designer Cubes Charles Martin et Patrick Beaucamp BPM Conseil Contact : charles.martin@bpm-conseil.com, patrick.beaucamp@bpm-conseil.com Janvier 2013 Document : BPM_Vanilla_FreeAnalysisSchemaDesigner_v4.2_FR.odt

Plus en détail

J'ai fait danser un troupeau d'éléphants

J'ai fait danser un troupeau d'éléphants J'ai fait danser un troupeau d'éléphants Patrick Francelle et Stéphane Schildknecht pgday.paris 1 Mise en place de PostgreSQL et de Slony En remplacement d'un serveur IBM Zseries et d'une base VSAM Dans

Plus en détail

Présentation du module Base de données spatio-temporelles

Présentation du module Base de données spatio-temporelles Présentation du module Base de données spatio-temporelles S. Lèbre slebre@unistra.fr Université de Strasbourg, département d informatique. Partie 1 : Notion de bases de données (12,5h ) Enjeux et principes

Plus en détail

Formation en Logiciels Libres. Fiche d inscription

Formation en Logiciels Libres. Fiche d inscription République Tunisienne Ministère de l'industrie et la Technologie - Secrétariat d'état de la Technologie Unité des Logiciels Libres Formation en Logiciels Libres Fiche d inscription (Une fiche par candidat)

Plus en détail

Guide d'intégration à ConnectWise

Guide d'intégration à ConnectWise Guide d'intégration à ConnectWise INTÉGRATION DE CONNECTWISE À BITDEFENDER CONTROL CENTER Guide d'intégration à ConnectWise Intégration de ConnectWise à Bitdefender Control Center Date de publication 2015.05.14

Plus en détail

Méthode de Test. Pour WIKIROUTE. Rapport concernant les méthodes de tests à mettre en place pour assurer la fiabilité de notre projet annuel.

Méthode de Test. Pour WIKIROUTE. Rapport concernant les méthodes de tests à mettre en place pour assurer la fiabilité de notre projet annuel. Méthode de Test Pour WIKIROUTE Rapport concernant les méthodes de tests à mettre en place pour assurer la fiabilité de notre projet annuel. [Tapez le nom de l'auteur] 10/06/2009 Sommaire I. Introduction...

Plus en détail

CONCEPTION Support de cours n 3 DE BASES DE DONNEES

CONCEPTION Support de cours n 3 DE BASES DE DONNEES CONCEPTION Support de cours n 3 DE BASES DE DONNEES Auteur: Raymonde RICHARD PRCE UBO PARTIE III. - LA DESCRIPTION LOGIQUE ET PHYSIQUE DES DONNEES... 2 A. Les concepts du modèle relationnel de données...

Plus en détail

4. Utilisation d un SGBD : le langage SQL. 5. Normalisation

4. Utilisation d un SGBD : le langage SQL. 5. Normalisation Base de données S. Lèbre slebre@unistra.fr Université de Strasbourg, département d informatique. Présentation du module Contenu général Notion de bases de données Fondements / Conception Utilisation :

Plus en détail

Raja Bases de données distribuées A Lire - Tutoriel

Raja Bases de données distribuées A Lire - Tutoriel Université des Sciences de Montpellier Master 2 Semestre 1 Unité d'enseignement FMIN306 Raja Bases de données distribuées A Lire - Tutoriel 26 janvier 2011 Audrey Novak Romain Maneschi Jonathan Fhal Aloys

Plus en détail

PHP 4 PARTIE : BASE DE DONNEES

PHP 4 PARTIE : BASE DE DONNEES PHP 4 PARTIE : BASE DE DONNEES 1. Introduction 2. Présentation de MySQL 3. Principe 4. Connexion 5. Interrogation 6. Extraction des données 7. Fonctions de services 8. Traitement des erreurs 9. Travaux

Plus en détail

CRÉER UNE BASE DE DONNÉES AVEC OPEN OFFICE BASE

CRÉER UNE BASE DE DONNÉES AVEC OPEN OFFICE BASE CRÉER UNE BASE DE DONNÉES AVEC OPEN OFFICE BASE 3. ème partie : RAPPORTS MENU D'ACCUEIL - MIGRATION Table des matières 1. Les RAPPORTS...2 1.1 Création d'un rapport basé sur une Requête...3 1.2 Imprimer,

Plus en détail

New Features. Developed by. BPM Conseil - SARL au capital de 70 000 euros - RCS LYON 479 400 129 9, rue Pierre Blanc - 69001 Lyon - France 1/20

New Features. Developed by. BPM Conseil - SARL au capital de 70 000 euros - RCS LYON 479 400 129 9, rue Pierre Blanc - 69001 Lyon - France 1/20 5 New Features Developed by 1/20 Sommaire 1 Introduction... 3 2 Evolutions des studios de développement et améliorations fonctionnelles... 5 3 Portail Vanilla... 6 3.1 Open Street Maps... 6 3.2 Gestion

Plus en détail

PHP 5. La base de données MySql. A. Belaïd 1

PHP 5. La base de données MySql. A. Belaïd 1 PHP 5 La base de données MySql A. Belaïd 1 Base de données C est quoi une base de données? Une base de données contient une ou plusieurs tables, chaque table ayant un ou plusieurs enregistrements Exemple

Plus en détail

DA MOTA Anthony - Comparaison de technologies : PhoneGap VS Cordova

DA MOTA Anthony - Comparaison de technologies : PhoneGap VS Cordova DA MOTA Anthony - Comparaison de technologies : PhoneGap VS Cordova I. Introduction Dans une période où la plasticité peut aider à réduire les coûts de développement de projets comme des applications mobile,

Plus en détail

TP : installation de services

TP : installation de services TP : installation de services Ce TP a été rédigé rapidement. Il ne donne certainement pas toutes les explications nécessaires à la compréhension des manipulations. Assurez vous de bien comprendre ce que

Plus en détail

LES NOUVEAUTES DE COST AND PROFITABILITY MANAGEMENT 8.1

LES NOUVEAUTES DE COST AND PROFITABILITY MANAGEMENT 8.1 LES NOUVEAUTES DE COST AND PROFITABILITY MANAGEMENT 8.1 SAS Cost and Profitability Management, également appelé CPM (ou C&P), est le nouveau nom de la solution SAS Activity-Based Management. Cette version

Plus en détail