td3a correction session7az
|
|
|
- Thérèse Barrette
- il y a 10 ans
- Total affichages :
Transcription
1 td3a correction session7az August 19, Séance 7 : PIG et JSON et streaming avec les données vélib (correction avec Azure) Plan Récupération des données Connexion au cluster et import des données Exercice 1 : convertir les valeurs numériques Exercice 2 : stations fermées Exercice 3 : stations fermées, journée complète Exercice 4 : astuces Récupération Connexion Exo 1 Exo2 Exo3 Astuces 1.1 Récupération des données In [1]: import pyensae import os, datetime In [2]: if not os.path.exists("velib") : os.mkdir("velib") files=pyensae.download_data("data_velib_paris_ _22-23.zip", website="xdtd", whereto="ve files[:2] Out[2]: [ velib\\paris txt, velib\\paris txt ] 1.2 Connexion au cluster et import des données In [4]: import pyquickhelper, pyensae params={"blob_storage":"", "password1":"", "hadoop_server":"", "password2":"", "username":"alias pyquickhelper.open_html_form(params=params,title="server + hadoop + credentials", key_save="blob Out[4]: <IPython.core.display.HTML at 0xb28f810> In [1]: import pyensae blobstorage = blobhp["blob_storage"] blobpassword = blobhp["password1"] hadoop_server = blobhp["hadoop_server"] hadoop_password = blobhp["password2"] username = blobhp["username"] client, bs = %hd_open client, bs 1
2 Out[1]: (<pyensae.remote.azure connection.azureclient at 0x7f82430>, <azure.storage.blobservice.blobservice at 0xaad3a50>) On uploade les données (sauf si vous l avez déjà fait une fois) : In [3]: files = [ os.path.join("velib",_) for _ in os.listdir("velib") if ".txt" in _] In [4]: #client.upload(bs, "hdblobstorage", "velib_1h1", files) In [5]: df=%blob_ls hdblobstorage/velib_1h1 df.head() Out[5]: name \ 0 velib 1h1/paris txt 1 velib 1h1/paris txt 2 velib 1h1/paris txt 3 velib 1h1/paris txt 4 velib 1h1/paris txt last modified content type content length \ 0 Tue, 25 Nov :28:03 GMT application/octet-stream Tue, 25 Nov :28:10 GMT application/octet-stream Tue, 25 Nov :28:18 GMT application/octet-stream Tue, 25 Nov :28:25 GMT application/octet-stream Tue, 25 Nov :28:32 GMT application/octet-stream blob type 0 BlockBlob 1 BlockBlob 2 BlockBlob 3 BlockBlob 4 BlockBlob 1.3 Exercice 1 : convertir les valeurs numériques Le programme suivant prend comme argument les colonnes à extraire des fichiers textes qui sont enregistrés au format python. Le streaming sur Azure est sensiblement différent du streaming présenté avec Cloudera. Cette version fonctionne également avec Cloudera. La réciproque n est pas vraie. Les scripts python sont interprétés avec la machine virtuelle java tout comme pig. La solution suivante s inspire de Utilisation de Python avec Hive et Pig dans HDInsight. Voir également Writing Jython UDFs. Cette écriture impose de comprendre la façon dont PIG décrit les données et l utilisation de schema. Le nom du script doit être jython.py pour ce notebook sinon le compilateur PIG ne sait pas dans quel langage interpréter ce script. La version de jython utilisée sur le cluster est (2.5:c56500f08d34+, Aug , 14:54:35) [OpenJDK 64-Bit Server VM (Azul Systems, Inc.)]. La correction inclut encore un bug mais cela devrait être bientôt corrigé. Cela est dû aux différences Python/Jython. In [6]: import pyensae In [87]: %%PYTHON jython.py import datetime, sys, {(available_bike_stands:int, available_bikes:int, lat:double, lng:double, def extract_columns_from_js(row): 2
3 # pour un programmeur python, les schéma sont contre plut^ot intuitifs, # { } veut dire une liste, # ( ) un tuple dont chaque colonne est nommé # j écrirai peut-^etre une fonction détermine le schéma en fonction des données # il faut utiliser des expressions régulières pour découper la ligne # car cette expression ne fonctionne pas sur des lignes trop longues # eval ( row ) --> revient à évaluer une ligne de 500 Ko # Hadoop s arr^ete sans réellement proposer de message d erreurs qui mettent sur la bonne vo # dans ces cas-là, il faut relancer le job après avoir commenter des lignes # jusqu à trouver celle qui provoque l arr^et brutal du programme # arr^et qui ne se vérifie pas en local cols = ["available_bike_stands","available_bikes","lat","lng","name","status"] exp = re.compile ("(\\{.*?\\})") rec = exp.findall(row) res = [] for r in rec : station = eval(r) vals = [ str(station[c]) for c in cols ] res.append(tuple(vals)) return res La vérification qui suit ne fonctionne que si la fonction à tester prend comme entrée une chaîne de caractères mais rien n empêche de de créer une telle fonction de façon temporaire juste pour vérifier que le script fonctionne (avec Jython 2.5.3) : In [88]: %%jython jython.py extract_columns_from_js [{ address : RUE DES CHAMPEAUX (PRES DE LA GARE ROUTIERE) BAGNOLET, collect_date : d [{ address : RUE DES CHAMPEAUX (PRES DE LA GARE ROUTIERE) BAGNOLET, collect_date : d Out[88]: <IPython.core.display.HTML at 0xc1abcb0> On écrit le script PIG qui utilise plus de colonnes : In [4]: %%PIG json_velib_python.pig REGISTER $CONTAINER/$SCRIPTPIG/jython.py using jython as myfuncs; jspy = LOAD $CONTAINER/velib_1h1/*.txt USING PigStorage( \t ) AS (arow:chararray); DESCRIBE jspy ; matrice = FOREACH jspy GENERATE myfuncs.extract_columns_from_js(arow); DESCRIBE matrice ; multiply = FOREACH matrice GENERATE FLATTEN(brow) ; DESCRIBE multiply ; STORE multiply INTO $CONTAINER/$PSEUDO/velibpy_results/firstjob USING PigStorage( \t ) ; On supprime la précédente exécution si besoin puis on vérifie que le répertoire contenant les résultats est vide : In [5]: if client.exists(bs, client.account_name, "$PSEUDO/velibpy_results/firstjob"): r = client.delete_folder (bs, client.account_name, "$PSEUDO/velibpy_results/firstjob") print(r) 3
4 [ xavierdupre/velibpy results/firstjob, xavierdupre/velibpy results/firstjob/ SUCCESS, xavierdupre/ve In [6]: %hd_pig_submit json_velib_python.pig jython.py -stop_on_failure Out[6]: { id : job } In [9]: st = %hd_job_status job_ _0095 st["id"],st["percentcomplete"],st["status"]["jobcomplete"] Out[9]: ( job , 100% complete, True) On récupère l erreur : In [10]: %tail_stderr job_ _ Out[10]: <IPython.core.display.HTML at 0xaa9fff0> In [11]: %blob_ls /$PSEUDO/velibpy_results Out[11]: name \ 0 xavierdupre/velibpy results 1 xavierdupre/velibpy results/firstjob 2 xavierdupre/velibpy results/firstjob/ SUCCESS 3 xavierdupre/velibpy results/firstjob/part-m last modified content type content length \ 0 Thu, 27 Nov :56:03 GMT application/octet-stream 0 1 Thu, 27 Nov :39:39 GMT 0 2 Thu, 27 Nov :39:39 GMT application/octet-stream 0 3 Thu, 27 Nov :39:39 GMT application/octet-stream blob type 0 BlockBlob 1 BlockBlob 2 BlockBlob 3 BlockBlob On récupère les informations qu on affiche sous forme de dataframe : In [12]: if os.path.exists("velib_exo1.txt") : os.remove("velib_exo1.txt") %blob_downmerge /$PSEUDO/velibpy_results/firstjob velib_exo1.txt Out[12]: velib exo1.txt In [13]: %head velib_exo1.txt Out[13]: <IPython.core.display.HTML at 0xaa9fb70> In [14]: import pandas df = pandas.read_csv("velib_hd.txt", sep="\t",names=["available_bike_stands","available_bikes", df.head() Out[14]: available bike stands available bikes lat lng \
5 name status CHAMPEAUX (BAGNOLET) OPEN POISSONNIÈRE - ENGHIEN OPEN METRO ROME OPEN RUE DE LA PAIX OPEN DE GAULLE (PANTIN) OPEN 1.4 Exercice 2 : stations fermées Les stations fermées ne le sont pas tout le temps. On veut calculer le ratio minutes/stations fermées / total des minutes/stations. Le script python permettant de lire les données ne change pas, il suffit juste de déclarer les sorties numériques comme telles. Quelques détails sur les tables : jspy : contient les données brutes dans une liste de fichiers matrice : d après le job qui précède, la table contient une ligne par stations et par minute, chaque ligne décrit le status de la station grstation : table matrice groupée par status fermees : pour chaque groupe, on aggrégé le nombre de minutes multipliés par le nombre de vélos gr*,dist* : distribution du nombre de stations (Y) en fonction du nombre de vélos ou places disponibles En cas d exécution précédentes : In [122]: for sub in [ "multiply.txt"]: if client.exists(bs, client.account_name, "$PSEUDO/velibpy_results/" + sub): r = client.delete_folder (bs, client.account_name, "$PSEUDO/velibpy_results/" + sub) print(r) [ xavierdupre/velibpy results/fermees.txt ] [ xavierdupre/velibpy results/distribution bikes.txt ] [ xavierdupre/velibpy results/distribution stands.txt ] On va exécuter le job en deux fois. Le premier job met tout à plat. Le second calcule les aggrégations. La plupart du temps, le travaille de recherche concerne la seconde partie. Mais si le job n est pas scindé, la première partie est toujours exécutée à chaque itération. Dans ce cas-ci, on scinde le job en deux. La première partie forme une table à partir des données initiales. La seconde les agrègre. In [155]: %%PIG json_velib_python2.pig REGISTER $CONTAINER/$SCRIPTPIG/jython.py using jython as myfuncs; jspy = LOAD $CONTAINER/velib_1h1/*.txt USING PigStorage( \t ) AS (arow:chararray); DESCRIBE jspy ; matrice = FOREACH jspy GENERATE myfuncs.extract_columns_from_js(arow); DESCRIBE matrice ; multiply = FOREACH matrice GENERATE FLATTEN(brow) ; DESCRIBE multiply ; STORE multiply INTO $CONTAINER/$PSEUDO/velibpy_results/multiply.txt USING PigStorage( \t ) ; In [156]: %hd_pig_submit json_velib_python2.pig jython.py -stop_on_failure 5
6 Out[156]: { id : job } In [163]: st = %hd_job_status job_ _0125 st["id"],st["percentcomplete"],st["status"]["jobcomplete"] Out[163]: ( job , 100% complete, True) In [165]: %blob_ls /$PSEUDO/velibpy_results/multiply.txt Out[165]: name \ 0 xavierdupre/velibpy results/multiply.txt 1 xavierdupre/velibpy results/multiply.txt/ SUCCESS 2 xavierdupre/velibpy results/multiply.txt/part-... last modified content type content length \ 0 Fri, 28 Nov :46:41 GMT 0 1 Fri, 28 Nov :46:41 GMT application/octet-stream 0 2 Fri, 28 Nov :46:41 GMT application/octet-stream blob type 0 BlockBlob 1 BlockBlob 2 BlockBlob In [167]: for sub in ["fermees.txt", "distribution_bikes.txt", "distribution_stands.txt"]: if client.exists(bs, client.account_name, "$PSEUDO/velibpy_results/" + sub): r = client.delete_folder (bs, client.account_name, "$PSEUDO/velibpy_results/" + sub) print(r) [ xavierdupre/velibpy results/fermees.txt, xavierdupre/velibpy results/fermees.txt/ temporary, xavier [ xavierdupre/velibpy results/distribution bikes.txt, xavierdupre/velibpy results/distribution bikes.tx [ xavierdupre/velibpy results/distribution stands.txt, xavierdupre/velibpy results/distribution stands. In [168]: %%PIG json_velib_python3.pig multiply = LOAD $CONTAINER/$PSEUDO/velibpy_results/multiply.txt USING PigStorage( \t ) AS (available_bike_stands:int, available_bikes:int, lat:double, lng:double, name:chararra DESCRIBE multiply ; grstation = GROUP multiply BY status ; DESCRIBE grstation ; fermees = FOREACH grstation GENERATE group,sum(multiply.available_bikes) AS available_bikes,sum(multiply.available_bike_stands) AS available_bike_stands ; DESCRIBE fermees ; gr_av = GROUP multiply BY available_bikes ; DESCRIBE gr_av; dist_av = FOREACH gr_av GENERATE group, COUNT(multiply) ; DESCRIBE dist_av; gr_pl = GROUP multiply BY available_bike_stands ; 6
7 DESCRIBE gr_pl; dist_pl = FOREACH gr_pl GENERATE group, COUNT(multiply) ; DESCRIBE dist_pl; STORE fermees INTO $CONTAINER/$PSEUDO/velibpy_results/fermees.txt USING PigStorage( \t ) ; STORE dist_av INTO $CONTAINER/$PSEUDO/velibpy_results/distribution_bikes.txt USING PigStorag STORE dist_pl INTO $CONTAINER/$PSEUDO/velibpy_results/distribution_stands.txt USING PigStora In [169]: %hd_pig_submit json_velib_python3.pig -stop_on_failure Out[169]: { id : job } In [173]: st = %hd_job_status job_ _0127 st["id"],st["percentcomplete"],st["status"]["jobcomplete"] Out[173]: ( job , 100% complete, True) In [177]: %tail_stderr job_ _ Out[177]: <IPython.core.display.HTML at 0xc285b50> In [178]: %blob_ls /$PSEUDO/velibpy_results Out[178]: name \ 0 xavierdupre/velibpy results 1 xavierdupre/velibpy results/distribution bikes... 2 xavierdupre/velibpy results/distribution bikes... 3 xavierdupre/velibpy results/distribution bikes... 4 xavierdupre/velibpy results/distribution stand... 5 xavierdupre/velibpy results/distribution stand... 6 xavierdupre/velibpy results/distribution stand... 7 xavierdupre/velibpy results/fermees.txt 8 xavierdupre/velibpy results/fermees.txt/ SUCCESS 9 xavierdupre/velibpy results/fermees.txt/part-r xavierdupre/velibpy results/firstjob 11 xavierdupre/velibpy results/firstjob/ SUCCESS 12 xavierdupre/velibpy results/firstjob/part-m xavierdupre/velibpy results/multiply.txt 14 xavierdupre/velibpy results/multiply.txt/ SUCCESS 15 xavierdupre/velibpy results/multiply.txt/part-... last modified content type content length \ 0 Thu, 27 Nov :56:03 GMT application/octet-stream 0 1 Fri, 28 Nov :50:54 GMT 0 2 Fri, 28 Nov :50:54 GMT application/octet-stream 0 3 Fri, 28 Nov :50:54 GMT application/octet-stream Fri, 28 Nov :50:55 GMT 0 5 Fri, 28 Nov :50:55 GMT application/octet-stream 0 6 Fri, 28 Nov :50:55 GMT application/octet-stream Fri, 28 Nov :50:54 GMT 0 8 Fri, 28 Nov :50:54 GMT application/octet-stream 0 9 Fri, 28 Nov :50:53 GMT application/octet-stream Thu, 27 Nov :39:39 GMT 0 11 Thu, 27 Nov :39:39 GMT application/octet-stream 0 12 Thu, 27 Nov :39:39 GMT application/octet-stream
8 13 Fri, 28 Nov :46:41 GMT 0 14 Fri, 28 Nov :46:41 GMT application/octet-stream 0 15 Fri, 28 Nov :46:41 GMT application/octet-stream blob type 0 BlockBlob 1 BlockBlob 2 BlockBlob 3 BlockBlob 4 BlockBlob 5 BlockBlob 6 BlockBlob 7 BlockBlob 8 BlockBlob 9 BlockBlob 10 BlockBlob 11 BlockBlob 12 BlockBlob 13 BlockBlob 14 BlockBlob 15 BlockBlob In [179]: if os.path.exists("distribution_bikes.txt") : os.remove("distribution_bikes.txt") %blob_downmerge /$PSEUDO/velibpy_results/distribution_bikes.txt distribution_bikes.txt Out[179]: distribution bikes.txt In [180]: import pandas df = pandas.read_csv("distribution_bikes.txt", sep="\t", names=["nb_velos", "nb_stations_minut df.head() Out[180]: nb velos nb stations minutes In [182]: import matplotlib.pyplot as plt plt.style.use( ggplot ) df.plot(x="nb_velos",y="nb_stations_minutes",kind="bar",figsize=(16,4)) Out[182]: <matplotlib.axes. subplots.axessubplot at 0xae39f90> 8
9 In [183]: if os.path.exists("distribution_stands.txt") : os.remove("distribution_stands.txt") %blob_downmerge /$PSEUDO/velibpy_results/distribution_stands.txt distribution_stands.txt Out[183]: distribution stands.txt In [184]: df = pandas.read_csv("distribution_stands.txt", sep="\t", names=["nb_places", "nb_stations_min df.plot(x="nb_places",y="nb_stations_minutes",kind="bar",figsize=(16,4)) Out[184]: <matplotlib.axes. subplots.axessubplot at 0xab50d50> In [185]: if os.path.exists("fermees.txt") : os.remove("fermees.txt") %blob_downmerge /$PSEUDO/velibpy_results/fermees.txt fermees.txt Out[185]: fermees.txt In [186]: df = pandas.read_csv("fermees.txt", sep="\t", names=["status", "nb_velos_stations_minutes", "n df=df.set_index("status") df = df.t df["%close"] = df.closed / (df.closed + df.open) df Out[186]: status OPEN CLOSED %close nb velos stations minutes nb places stations minutes Ce dernier tableau n est vrai que dans la mesure où les nombres reportées sont fiables lorsque les stations sont fermées. 1.5 Exercice 3 : stations fermées, journée complète Appliquer cela à une journée complète revient à lancer le même job sur des données plus grandes. On verra bientôt commencer éviter de recopier le job une seconde fois (introduisant une source potentielle d erreur). In [40]: 9
10 1.6 Exercice 4 : astuces Les erreurs de PIG ne sont pas très explicite surtout si elles se produisent dans le script python. Un moyen simple de débugger est d attraper les exceptions produites par python et de les récupérer sous PIG (le reste du job est enlevé). On peut tout-à-fait imaginer ajouter la version de python installée sur le cluster ainsi que la liste de modules In [70]: %%PYTHON jython.py import def information(row): return (";".join([str(sys.version), str(sys.executable)])).replace("\n"," ") On vérifie que le script fonctionne avec jython : In [71]: %%jython jython.py information n importe quoi Out[71]: <IPython.core.display.HTML at 0xb066630> In [78]: %%PIG info.pig REGISTER $CONTAINER/$SCRIPTPIG/jython.py using jython as myfuncs; jspy = LOAD $CONTAINER/velib_1h1/*.txt USING PigStorage( \t ) AS (arow:chararray); one = LIMIT jspy 1 ; infos = FOREACH one GENERATE myfuncs.information(arow); STORE infos INTO $CONTAINER/$PSEUDO/results/infos USING PigStorage( \t ) ; In [79]: if client.exists(bs, client.account_name, "$PSEUDO/results/infos"): r = client.delete_folder (bs, client.account_name, "$PSEUDO/results/infos") print(r) In [80]: %hd_pig_submit info.pig jython.py -stop_on_failure Out[80]: { id : job } In [83]: st = %hd_job_status job_ _0107 st["id"],st["percentcomplete"],st["status"]["jobcomplete"] Out[83]: ( job , 100% complete, True) In [84]: %tail_stderr job_ _ Out[84]: <IPython.core.display.HTML at 0xaa9f770> In [85]: if os.path.exists("infos.txt") : os.remove("infos.txt") %blob_downmerge /$PSEUDO/results/infos infos.txt Out[85]: infos.txt In [86]: %head infos.txt Out[86]: <IPython.core.display.HTML at 0xc1ab5f0> In [ ]: 10
pyensae StockPrices September 1, 2015 1 Manipulation de séries financières avec la classe StockPrices
pyensae StockPrices September 1, 2015 1 Manipulation de séries financières avec la classe StockPrices La classe StockPrices facilite la récupération de données financières via le site Yahoo Finance ainsi
2015 kmeans. September 3, 2015
2015 kmeans September 3, 2015 1 Kmeans avec PIG auteurs : P. Atalaya, M. Gubri M k-means est un algorithme de clustering relativement simple qu on cherche à paralléliser. In [1]: import pyensae %nb_menu
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
Anticiper et prédire les sinistres avec une approche Big Data
Anticiper et prédire les sinistres avec une approche Big Data Julien Cabot Directeur Big Data Analytics OCTO [email protected] @julien_cabot OCTO 2013 50, avenue des Champs-Elysées 75008 Paris - FRANCE Tél
Cours 1 : Introduction Ordinateurs - Langages de haut niveau - Application
Université de Provence Licence Math-Info Première Année V. Phan Luong Algorithmique et Programmation en Python Cours 1 : Introduction Ordinateurs - Langages de haut niveau - Application 1 Ordinateur Un
Conventions d écriture et outils de mise au point
Logiciel de base Première année par alternance Responsable : Christophe Rippert [email protected] Introduction Conventions d écriture et outils de mise au point On va utiliser dans cette
Cours 1 : La compilation
/38 Interprétation des programmes Cours 1 : La compilation Yann Régis-Gianas [email protected] PPS - Université Denis Diderot Paris 7 2/38 Qu est-ce que la compilation? Vous avez tous déjà
Big Data Concepts et mise en oeuvre de Hadoop
Introduction 1. Objectif du chapitre 9 2. Le Big Data 10 2.1 Introduction 10 2.2 Informatique connectée, objets "intelligents" et données collectées 11 2.3 Les unités de mesure dans le monde Big Data 12
HAUTE DISPONIBILITÉ DE MACHINE VIRTUELLE AVEC HYPER-V 2012 R2 PARTIE CONFIGURATION OPENVPN SUR PFSENSE
HAUTE DISPONIBILITÉ DE MACHINE VIRTUELLE AVEC HYPER-V 2012 R2 PARTIE CONFIGURATION OPENVPN SUR PFSENSE Projet de semestre ITI soir 4ème année Résumé configuration OpenVpn sur pfsense 2.1 Etudiant :Tarek
Java et les bases de données
Michel Bonjour http://cuiwww.unige.ch/~bonjour CENTRE UNIVERSITAIRE D INFORMATIQUE UNIVERSITE DE GENEVE Plan Introduction JDBC: API SQL pour Java - JDBC, Java, ODBC, SQL - Architecture, interfaces, exemples
Ricco Rakotomalala http://eric.univ-lyon2.fr/~ricco/cours/cours_programmation_r.html. R.R. Université Lyon 2
Ricco Rakotomalala http://eric.univ-lyon2.fr/~ricco/cours/cours_programmation_r.html 1 Plan de présentation 1. L écosystème Hadoop 2. Principe de programmation MapReduce 3. Programmation des fonctions
La technologie Java Card TM
Présentation interne au CESTI La technologie Java Card TM [email protected] http://dept-info.labri.u-bordeaux.fr/~sauveron 8 novembre 2002 Plan Qu est ce que Java Card? Historique Les avantages
Exercices types Algorithmique et simulation numérique Oral Mathématiques et algorithmique Banque PT
Exercices types Algorithmique et simulation numérique Oral Mathématiques et algorithmique Banque PT Ces exercices portent sur les items 2, 3 et 5 du programme d informatique des classes préparatoires,
Java et les bases de données: JDBC: Java DataBase Connectivity SQLJ: Embedded SQL in Java. Michel Bonjour http://cuiwww.unige.
: JDBC: Java DataBase Connectivity SQLJ: Embedded SQL in Java Michel Bonjour http://cuiwww.unige.ch/~bonjour Plan JDBC: API bas niveau pour l accès aux BD (SQL) - Introduction - JDBC et : Java, ODBC, SQL
OpenPaaS Le réseau social d'entreprise
OpenPaaS Le réseau social d'entreprise Spécification des API datastore SP L2.3.1 Diffusion : Institut MinesTélécom, Télécom SudParis 1 / 12 1OpenPaaS DataBase API : ODBAPI...3 1.1Comparaison des concepts...3
Déploiement d une architecture Hadoop pour analyse de flux. franç[email protected]
Déploiement d une architecture Hadoop pour analyse de flux franç[email protected] 1 plan Introduction Hadoop Présentation Architecture d un cluster HDFS & MapReduce L architecture déployée Les
Tp 1 correction. Structures de données (IF2)
Tp 1 correction Structures de données (IF2) Remarque générale : compilez et exécutez le code au-fur-et-à mesure de son écriture. Il est plus facile de corriger une petite portion de code délimitée que
Les journées SQL Server 2013
Les journées SQL Server 2013 Un événement organisé par GUSS Les journées SQL Server 2013 Romain Casteres MVP SQL Server Consultant BI @PulsWeb Yazid Moussaoui Consultant Senior BI MCSA 2008/2012 Etienne
Direction des Systèmes d'information
DEPLOIEMENT DU CLIENT SSL SSL VPN Direction des Systèmes d'information Auteur GDS Référence 2010-GDS-DPT Version Date /2010 Nb. Pages 8 Sujet Ce document décrit le déploiement du logiciel «SSL VPN Client»
1. Structure d'un programme FORTRAN 95
FORTRAN se caractérise par la nécessité de compiler les scripts, c'est à dire transformer du texte en binaire.(transforme un fichier de texte en.f95 en un executable (non lisible par un éditeur) en.exe.)
SEMIN. Données sous R : stockage et échange. Julio PEDRAZA ACOSTA
SEMIN Données sous R : stockage et échange Julio PEDRAZA ACOSTA UMR 5202 Origine Structure et Evolution de la Biodiversité Département Systématique et Evolution, MNHN [email protected] SEMIN R du MNHN 10
Comment reproduire les résultats de l article : POP-Java : Parallélisme et distribution orienté objet
Comment reproduire les résultats de l article : POP-Java : Parallélisme et distribution orienté objet Beat Wolf 1, Pierre Kuonen 1, Thomas Dandekar 2 1 icosys, Haute École Spécialisée de Suisse occidentale,
Imprimantes et partage réseau sous Samba avec authentification Active Directory
Imprimantes et partage réseau sous Samba avec authentification Active Directory Sommaire 1- Pré requis Page 2 2- Configuration réseau Page 3 3- Installation de samba Page 4 à 5 4- Installation de kerberos
L écosystème Hadoop Nicolas Thiébaud [email protected]. Tuesday, July 2, 13
L écosystème Hadoop Nicolas Thiébaud [email protected] HUG France 250 membres sur la mailing liste 30 présentations 9 meetups organisés, de 20 à 100 invités Présence de Cloudera, MapR, Hortonworks,
Approche Contract First
Exemple HelpDesk Approche Contract First Développement d un premier web service en utilisant l approche contract first (ou WSDL First) Écriture du wsdl avant d écrire le code java Autre possibilité implementation
27/11/12 Nature. SDK Python et Java pour le développement de services ACCORD Module(s)
Propriétés du Document Source du Document SDK_accords.odt Titre du Document SDK Python et Java pour le développement de services ACCORD Module(s) PyaccordsSDK, JaccordsSDK Responsable Prologue Auteur(s)
Sommaire. 3. Les grands principes de GFS L architecture L accès de fichier en lecture L accès de fichier en écriture Bilan
1 Sommaire 1. Google en chiffres 2. Les raisons d être de GFS 3. Les grands principes de GFS L architecture L accès de fichier en lecture L accès de fichier en écriture Bilan 4. Les Evolutions et Alternatives
Le langage C. Séance n 4
Université Paris-Sud 11 Institut de Formation des Ingénieurs Remise à niveau INFORMATIQUE Année 2007-2008 Travaux pratiques d informatique Le langage C Séance n 4 But : Vous devez maîtriser à la fin de
Attaques applicatives
Attaques applicatives Attaques applicatives Exploitation d une mauvaise programmation des applications Ne touche pas le serveur lui-même mais son utilisation/ configuration Surtout populaire pour les sites
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é
Introduction à MATLAB R
Introduction à MATLAB R Romain Tavenard 10 septembre 2009 MATLAB R est un environnement de calcul numérique propriétaire orienté vers le calcul matriciel. Il se compose d un langage de programmation, d
Présentation Windows Azure Hadoop Big Data - BI
Présentation Windows Azure Hadoop Big Data - BI Sommaire 1. Architecture Hadoop dans Windows Azure... 3 2. Requête Hive avec Hadoop dans Windows Azure... 4 3. Cas d études... 5 3.1 Vue : Administrateur...
1 Description générale de VISFIELD
Guide d utilisation du logiciel VISFIELD Yann FRAIGNEAU LIMSI-CNRS, Bâtiment 508, BP 133 F-91403 Orsay cedex, France 11 décembre 2012 1 Description générale de VISFIELD VISFIELD est un programme écrit
Django et PostgreSQL sous la charge
Django et PostgreSQL sous la charge Rodolphe Quiédeville Pourquoi couper la queue du poulet? RMLL - Beauvais 8 juillet 2015 Rodolphe Quiédeville (PeopleDoc) Django et PostgreSQL sous la charge 8 juillet
PHP et mysql. Code: php_mysql. Olivier Clavel - Daniel K. Schneider - Patrick Jermann - Vivian Synteta Version: 0.9 (modifié le 13/3/01 par VS)
PHP et mysql php_mysql PHP et mysql Code: php_mysql Originaux url: http://tecfa.unige.ch/guides/tie/html/php-mysql/php-mysql.html url: http://tecfa.unige.ch/guides/tie/pdf/files/php-mysql.pdf Auteurs et
Licence Sciences et Technologies Examen janvier 2010
Université de Provence Introduction à l Informatique Licence Sciences et Technologies Examen janvier 2010 Année 2009-10 Aucun document n est autorisé Les exercices peuvent être traités dans le désordre.
Petit guide pour l installation de CVW sous Linux
LinuxFocus article number 310 http://linuxfocus.org par Juan Manuel Triana,Carlos Andrés Pérez Petit guide pour l installation de CVW sous Linux L auteur:
Flexible Identity. authentification multi-facteurs. authentification sans token. Version 1.0. Copyright Orange Business Services mai 2014.
Flexible Identity authentification multi-facteurs authentification sans token Version 1.0 1 of 23 historique des mises à jour date no. version auteur description mai 2014 1.0 Version initiale. Copyright
Protection des protocoles www.ofppt.info
ROYAUME DU MAROC Office de la Formation Professionnelle et de la Promotion du Travail Protection des protocoles DIRECTION RECHERCHE ET INGENIERIE DE FORMATION SECTEUR NTIC Sommaire 1. Introduction... 2
STAGE IREM 0- Premiers pas en Python
Université de Bordeaux 16-18 Février 2014/2015 STAGE IREM 0- Premiers pas en Python IREM de Bordeaux Affectation et expressions Le langage python permet tout d abord de faire des calculs. On peut évaluer
Cassandra et Spark pour gérer la musique On-line
Cassandra et Spark pour gérer la musique On-line 16 Juin 2015 @ Paris Hammed RAMDANI Architecte SI 3.0 et BigData [email protected] +33 6 80 22 20 70 Appelez-moi Hammed ;-) (Sidi Mo)Hammed Ramdani @smramdani
Chapitre 10 Mettre en œuvre un cluster Hadoop
Chapitre 10 Mettre en œuvre un cluster Hadoop 1. Objectif du chapitre Mettre en œuvre un cluster Hadoop L'objectif de ce chapitre est de comparer différentes options possibles pour mettre en œuvre un cluster
Bases Java - Eclipse / Netbeans
Institut Galilée PDJ Année 2014-2015 Master 1 Environnements Java T.P. 1 Bases Java - Eclipse / Netbeans Il existe plusieurs environnements Java. Il est ESSENTIEL d utiliser la bonne version, et un environnement
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
Introduction aux Machines Virtuelles avec VMKit
Introduction aux Machines Virtuelles avec Ingénieur :, Responsables : Gaël Thomas, Gilles Müller EQUIPE REGAL LIP6 INRIA (Paris/France) un substrat de machine virtuelle : a substrate for Managed Runtime
Exemple d application: l annuaire DNS Claude Chaudet
Exemple d application: l annuaire DNS Claude Chaudet 66 Institut Mines-Télécom Nommage des machines sur Internet n Le DNS (Domain Name System) est un annuaire associant des noms textuels et des adresses
Programmation Web. Madalina Croitoru IUT Montpellier
Programmation Web Madalina Croitoru IUT Montpellier Organisation du cours 4 semaines 4 ½ h / semaine: 2heures cours 3 ½ heures TP Notation: continue interrogation cours + rendu à la fin de chaque séance
INTRODUCTION A JAVA. Fichier en langage machine Exécutable
INTRODUCTION A JAVA JAVA est un langage orienté-objet pur. Il ressemble beaucoup à C++ au niveau de la syntaxe. En revanche, ces deux langages sont très différents dans leur structure (organisation du
Supervision et infrastructure - Accès aux applications JAVA. Document FAQ. Page: 1 / 9 Dernière mise à jour: 15/04/12 16:14
Document FAQ Supervision et infrastructure - Accès aux EXP Page: 1 / 9 Table des matières Introduction... 3 Démarrage de la console JMX...4 I.Généralités... 4 II.WebLogic... 5 III.WebSphere... 6 IV.JBoss...
Quelques éléments de compilation en C et makefiles
Quelques éléments de compilation en C et makefiles Guillaume Feuillade 1 Compiler un programme C Le principe de la compilation consiste à passer d un ensemble de fichiers de code à un programme exécutable
Programmation C. Apprendre à développer des programmes simples dans le langage C
Programmation C Apprendre à développer des programmes simples dans le langage C Notes de cours sont disponibles sur http://astro.u-strasbg.fr/scyon/stusm (attention les majuscules sont importantes) Modalités
TP 1. Prise en main du langage Python
TP. Prise en main du langage Python Cette année nous travaillerons avec le langage Python version 3. ; nous utiliserons l environnement de développement IDLE. Étape 0. Dans votre espace personnel, créer
1 Lecture de fichiers
Programmation 1 Cours n 6 GB3, 2 nd semestre 2014-2015 Cours de Python Gilles Bernot 1 Lecture de fichiers Un fichier est une suite de caractères mémorisés sur le disque dur de la machine dans un endroit
WDpStats Procédure d installation
WDpStats Procédure d installation Table de matières WDpStats... 1 Procédure d installation... 1 Table de matières... 1 Résumé... 2 Réquisits... 2 Installation... 2 Difficultés... 6 Lancement... 7 wdpstats_install_oracle_fr.xml
modules & compilation
Programmation fonctionnelle avec OCaml 3ème séance, 19 mars 2015 modules & compilation [email protected] http ://www.loria.fr/ shornus/ocaml/ Modules Un module regroupe un ensemble de définitions
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
A.-M. Cubat PMB - Import de lecteurs - Généralités Page 1 Source : http://amcubat.be/docpmb/import-de-lecteurs
A.-M. Cubat PMB - Import de lecteurs - Généralités Page 1 Diverses méthodes d import de lecteurs Les données (noms, prénoms, adresses. des lecteurs) proviennent en général du secrétariat, et se trouvent
Utilisation d objets : String et ArrayList
Chapitre 6 Utilisation d objets : String et ArrayList Dans ce chapitre, nous allons aborder l utilisation d objets de deux classes prédéfinies de Java d usage très courant. La première, nous l utilisons
Gestion Electronique de Document (ECM/GED)
Gestion Electronique de Document (ECM/GED) Analyse de l existant Découpage modulaire La gestion électronique de documents repose sur un ensemble de deux modules conjoints, au sein de la famille «ecm» :
Hadoop, Spark & Big Data 2.0. Exploiter une grappe de calcul pour des problème des données massives
Hadoop, Spark & Big Data 2.0 Exploiter une grappe de calcul pour des problème des données massives Qui suis-je? Félix-Antoine Fortin Génie info. (B. Ing, M. Sc, ~PhD) Passionné de Python, Data Analytics,
Open Source Job Scheduler. Installation(s)
Open Source Job Scheduler Installation(s) Installations Standard Configuration Superviseur Agent SOS-Paris 2 Pré-requis o Base de données o MySQL, MSACCESS, Oracle o JDBC ou ODBC o Connecteurs o Mysql
1 Modélisation d être mauvais payeur
1 Modélisation d être mauvais payeur 1.1 Description Cet exercice est très largement inspiré d un document que M. Grégoire de Lassence de la société SAS m a transmis. Il est intitulé Guide de démarrage
Annexe : La Programmation Informatique
GLOSSAIRE Table des matières La Programmation...2 Les langages de programmation...2 Java...2 La programmation orientée objet...2 Classe et Objet...3 API et Bibliothèque Logicielle...3 Environnement de
«Cachez-moi cette page!»
«Cachez-moi cette page!» Atelier Pratique 1h30 Hugo Hamon (@hhamon) http://hugohamon.com Qui suis-je? Au menu de cet atelier 1. Introduction 2. Avantages 3. Expiration (Expires & Cache-Control) 4. Validation
API ONE-TIME PASSWORD
PLATEFORME SAAS D'ENVOI DE SMS Guide du débutant API ONE-TIME PASSWORD UTILISER LA PLATEFORME SMSMODE DOCUMENTATION TECHNIQUE QU'EST-CE QUE L'API OTP? Notre solution technique pour l OTP (One Time Password)
BASE. Vous avez alors accès à un ensemble de fonctionnalités explicitées ci-dessous :
BASE BioArray Software Environment (BASE) est une base de données permettant de gérer l importante quantité de données générées par des analyses de bio-puces. BASE gère les informations biologiques, les
INITIATION AU LANGAGE C SUR PIC DE MICROSHIP
COURS PROGRAMMATION INITIATION AU LANGAGE C SUR MICROCONTROLEUR PIC page 1 / 7 INITIATION AU LANGAGE C SUR PIC DE MICROSHIP I. Historique du langage C 1972 : naissance du C dans les laboratoires BELL par
La dernière base de données de Teradata franchit le cap du big data grâce à sa technologie avancée
Communiqué de presse Charles-Yves Baudet Twitter: Les clients de Teradata Teradata Corporation peuvent [email protected] tirer parti de plusieurs + 33 1 64 86 76 14 + 33 (0) 1 55 21 01 48/49 systèmes,
Table des matières PRESENTATION DU LANGAGE DS2 ET DE SES APPLICATIONS. Introduction
PRESENTATION DU LANGAGE DS2 ET DE SES APPLICATIONS Depuis SAS 9.2 TS2M3, SAS propose un nouveau langage de programmation permettant de créer et gérer des tables SAS : le DS2 («Data Step 2»). Ces nouveautés
Déploiement OOo en environnement Windows Terminal Server
Déploiement OOo en environnement Windows Terminal Server Version 1.00 du 10.12.2004 Réalisé avec : OOo 1.1.3 Plate-forme / Os : Microsoft Windows Distribué par le projet fr.openoffice.org Sommaire 1 Introduction...3
Représentation d un entier en base b
Représentation d un entier en base b 13 octobre 2012 1 Prérequis Les bases de la programmation en langage sont supposées avoir été travaillées L écriture en base b d un entier est ainsi défini à partir
Exceptions. 1 Entrées/sorties. Objectif. Manipuler les exceptions ;
CNAM NFP121 TP 10 19/11/2013 (Séance 5) Objectif Manipuler les exceptions ; 1 Entrées/sorties Exercice 1 : Lire un entier à partir du clavier Ajouter une méthode readint(string message) dans la classe
Gestion centralisée d un réseau de sites discrets. Nicolas JEAN - @salemioche
Gestion centralisée d un réseau de sites discrets Nicolas JEAN - @salemioche SEO / Technique,utilisation SEO Technique / Utilisation Intérêt du réseau Centralisé Discrétion Simplicité d utilisation Caractéristique
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
Slony1 2.1 Londiste 3
Slony1 2.1 Londiste 3 Cédric Villemain FRANCE PgConf.EU 2011 20/10/2011, Amsterdam License Creative Commons: Attribution-Non-Commercial-Share Alike 2.5 You are free: to copy, distribute,
DEMARRER UN PROJET BIGDATA EN QUELQUES MINUTES GRACE AU CLOUD
DEMARRER UN PROJET BIGDATA EN QUELQUES MINUTES GRACE AU CLOUD BIGDATA PARIS LE 1/4/2014 VINCENT HEUSCHLING @VHE74! 1 NOUS 100% Bigdata Infrastructure IT + Data Trouver vos opportunités Implémenter les
V- Manipulations de nombres en binaire
1 V- Manipulations de nombres en binaire L ordinateur est constitué de milliards de transistors qui travaillent comme des interrupteurs électriques, soit ouverts soit fermés. Soit la ligne est activée,
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
L3 informatique TP n o 2 : Les applications réseau
L3 informatique TP n o 2 : Les applications réseau Sovanna Tan Septembre 2009 1/20 Sovanna Tan L3 informatique TP n o 2 : Les applications réseau Plan 1 Transfert de fichiers 2 Le Courrier électronique
Skype (v2.5) Protocol Data Structures (French) Author : Ouanilo MEDEGAN http://www.oklabs.net
Skype (v2.5) Protocol Data Structures (French) Author : Ouanilo MEDEGAN http://www.oklabs.net : Champ Encodé SKWRITTEN() : Champ Variable défini Précédemment & définissant l état des champs à suivre ECT
Le langage C++ est un langage de programmation puissant, polyvalent, on serait presque tenté de dire universel, massivement utilisé dans l'industrie
Chapitre I : Les bases du C++ Le langage C++ est un langage de programmation puissant, polyvalent, on serait presque tenté de dire universel, massivement utilisé dans l'industrie du logiciel, et ce depuis
UE Programmation Impérative Licence 2ème Année 2014 2015
UE Programmation Impérative Licence 2 ème Année 2014 2015 Informations pratiques Équipe Pédagogique Florence Cloppet Neilze Dorta Nicolas Loménie [email protected] 2 Programmation Impérative
4 Exemples de problèmes MapReduce incrémentaux
4 Exemples de problèmes MapReduce incrémentaux 1 / 32 Calcul des plus courtes distances à un noeud d un graphe Calcul des plus courts chemins entre toutes les paires de noeuds d un graphe Algorithme PageRank
Guide de démarrage Intellipool Network Monitor
Guide de démarrage Intellipool Network Monitor Sommaire Glossaire... 3 Icônes... 3 Page de connexion... 4 Page d accueil... 5 Saisie de la clé de licence... 7 My settings... 8 Création d un compte... 9
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
Génération de code binaire pour application multimedia : une approche au vol
Génération de binaire pour application multimedia : une approche au vol http://hpbcg.org/ Henri-Pierre Charles Université de Versailles Saint-Quentin en Yvelines 3 Octobre 2009 Présentation Présentation
TP, première séquence d exercices.
TP, première séquence d exercices. Benoît Valiron [email protected] 7 novembre 2010 Introduction Vous écrirez les réponses aux questions courtes sur une feuille à rendre à la fin de la
VTX FTP. Transfert de fichiers business par FTP - Manuel de l'utilisateur. Informations complémentaires : www.vtx.ch. info@vtx.
VTX FTP Transfert de fichiers business par FTP - Manuel de l'utilisateur Informations complémentaires : www.vtx.ch [email protected] 021/721 11 11 Table des matières 1 Introduction...3 1.1 But du document...3
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 -
TP JAVASCRIPT OMI4 TP5 SRC1 2011-2012
TP JAVASCRIPT OMI4 TP5 SRC1 2011-2012 FORMULAIRE DE CONTACT POUR PORTFOLIO PRINCIPE GENERAL Nous souhaitons réaliser un formulaire de contact comprenant les champs suivants : NOM PRENOM ADRESSE MAIL MESSAGE
INFO-F-404 : Techniques avancées de systèmes d exploitation
Nikita Veshchikov e-mail : [email protected] téléphone : 02/650.58.56 bureau : 2N8.213 URL : http://student.ulb.ac.be/~nveshchi/ INFO-F-404 : Techniques avancées de systèmes d exploitation Table
Nouveautés Ignition v7.7
... Nouveautés Ignition v7.7 Nouveautés Ignition v7.7 Découvrez le Nouveau Scada avec plus de 40 nouveautés Principales nouveautés :... Cloud Templates Template Repeater Client Multilingue + Sequential
Guide Enseignant de l application OpenERP
Guide Enseignant de l application OpenERP PARTIE I : Accès à l application PGI Open Erp Pour accéder à l application «OpenERP» depuis le web. 1. Ouvrez votre navigateur Internet. 2. Une fois ouvert, cliquez
1 - Introduction : Déroulement du déploiement avec WDS / MDT :
WDS / MDT 1 Introduction : Présentation WDS (Windows Deployment Services) : Il permet le déploiement de poste de travail par le réseau c est lui qui distribue l image via le réseau. Présentation MDT (Microsoft
Support de TD ArcGIS 10.1. Introduction à l automatisation et au développement avec ArcGIS 10.1 JEAN-MARC GILLIOT 2014-2015. 3 e année ingénieur
JEAN-MARC GILLIOT 2014-2015 Durée 1,5 heures Introduction à l automatisation et au développement avec ArcGIS 10.1 3 e année ingénieur Support de TD ArcGIS 10.1 Grande école européenne d'ingénieurs et de
INTRODUCTION. Bienvenue dans la TCN FRENCH TEAM, nous allons ensemble démarrer une belle aventure qui peut devenir lucrative pour tous.
AIDE AU DEMARRAGE INTRODUCTION Bienvenue dans la TCN FRENCH TEAM, nous allons ensemble démarrer une belle aventure qui peut devenir lucrative pour tous. Text Cash Network s implante juste en France et
Télécom Nancy Année 2013-2014
Télécom Nancy Année 2013-2014 Rapport 1A Ajout du langage C dans la Programmer's Learning Machine GIANNINI Valentin Loria 615, rue du Jardin Botanique 54600, Villers-Lès-Nancy Maître de stage : QUINSON
Hadoop / Big Data. Benjamin Renaut <[email protected]> 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
