IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Big Data Discussion :

analyse de donée pour creer un profil d'un utilisateur


Sujet :

Big Data

  1. #1
    Débutant Avatar de étoile de mer
    Profil pro
    Étudiant
    Inscrit en
    Avril 2007
    Messages
    978
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2007
    Messages : 978
    Points : 117
    Points
    117
    Par défaut analyse de donée pour creer un profil d'un utilisateur
    Bonjour,
    Dans le cadre d'une analyse de comportement des utilisateur d'un application de musique en ligne , je dispose d'une ensemble de fichier de la forme:
    id-utilisateur | pays | id-artiste | id-track
    J'aimerai representer chaque utilisateur par son profil musical.
    Pouvez vous m'aider de decrire le schema global de la procedure d'analyse de donnée (pig/hdfs..)

    Merci
    Le jour est le père du labeur et la nuit est la mère des pensées.

  2. #2
    Membre habitué
    Homme Profil pro
    Inscrit en
    Octobre 2007
    Messages
    190
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Octobre 2007
    Messages : 190
    Points : 182
    Points
    182
    Par défaut
    première proposition, au vu de ce que j'ai compris, un truc dans le genre,

    exemple fichier de sortie

    on regroupe les users par artist

    hadoop fs -cat /user/hduser/userbyartist/part-r-00000

    Jarre {(r199999,uk,Jarre,Calypso),(c182939,it,Jarre,Equinoxe),(a120939,fr,Jarre,Oxygene)}
    Vangelis {(f182939,fr,Vangelis,1492)}
    MikeOldField {(at83939,gr,MikeOldField,crisis)}
    TangerineDream {(c182939,it,TangerineDream,Melrose)}

    script:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    users = LOAD '/user/hduser/user.csv'  using PigStorage(':') AS (userId:chararray, country:chararray,  artist:chararray, track:chararray);
    userByArtist =  GROUP users BY artist ;
    dump  userByArtist;
    store userByArtist into '/user/hduser/userbyartist';

    input fichier bidon, genre csv

    hduser@stargate:~$ hadoop fs -cat /user/hduser/user.csv
    a120939:fr:Jarre:Oxygene
    f182939:fr:Vangelis:1492
    c182939:it:Jarre:Equinoxe
    at83939:gr:MikeOldField:crisis
    c182939:it:TangerineDream:Melrose
    r199999:uk:Jarre:Calypso


    https://pig.apache.org/docs/r0.7.0/p...ef2.html#ORDER

  3. #3
    Membre habitué
    Homme Profil pro
    Inscrit en
    Octobre 2007
    Messages
    190
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Octobre 2007
    Messages : 190
    Points : 182
    Points
    182
    Par défaut
    Autre proposition, si on aime pas la forme tupple

    fichier de sortie classique trie par artiste/user après traitement, en imaginant qu'on soit en append sur un fichier user activités selon ses selections, qu'il faudra ensuite trier en pig

    /user/hduser/userbyartistSorted/part-r-00000
    hduser@stargate:~$ hadoop fs -cat /user/hduser/userbyartistSorted/part-r-00000
    Jarre:r199999:uk:Calypso
    Jarre:c182939:it:Equinoxe
    Jarre:a120939:fr:Oxygene
    MikeOldField:at83939:gr:crisis
    TangerineDream:c182939:it:Melrose
    Vangelis:f182939:fr:1492

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    users = LOAD '/user/hduser/user.csv'  using PigStorage(':') AS (userId:chararray, country:chararray,  artist:chararray, track:chararray);
    usersByArtist =  ORDER users BY artist ;
    result = FOREACH usersByArtist  GENERATE artist,userId,country,track;
    dump result;
    store result into '/user/hduser/userbyartistSorted' USING PigStorage(':');
    input fichier bidon, genre csv

    hduser@stargate:~$ hadoop fs -cat /user/hduser/user.csv
    a120939:fr:Jarre:Oxygene
    f182939:fr:Vangelis:1492
    c182939:it:Jarre:Equinoxe
    at83939:gr:MikeOldField:crisis
    c182939:it:TangerineDream:Melrose
    r199999:uk:Jarre:Calypso

  4. #4
    Débutant Avatar de étoile de mer
    Profil pro
    Étudiant
    Inscrit en
    Avril 2007
    Messages
    978
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2007
    Messages : 978
    Points : 117
    Points
    117
    Par défaut
    Merci beacoup super énormément Bordi
    En fait dans le fichier d origine lzs champs sont separes par "|".
    Je change comment le code?
    Le jour est le père du labeur et la nuit est la mère des pensées.

  5. #5
    Membre habitué
    Homme Profil pro
    Inscrit en
    Octobre 2007
    Messages
    190
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Octobre 2007
    Messages : 190
    Points : 182
    Points
    182
    Par défaut
    lors qu'on lit un fichier csv, on peut preciser le caractere de separation des champs dans le fichier

    dans le fichier input
    a120939|fr|Jarre|Oxygene
    f182939|fr|Vangelis|1492
    c182939|it|Jarre|Equinoxe
    at83939|gr|MikeOldField|crisis
    c182939|it|TangerineDream|Melrose
    r199999|uk|Jarre|Calypso


    au lieu de ':' remplacer par '|' sur le load ou le store

    using PigStorage('|')

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    users = LOAD '/user/hduser/user.csv'  using PigStorage('|') AS (userId:chararray, country:chararray,  artist:chararray, track:chararray);
    usersByArtist =  ORDER users BY artist ;
    result = FOREACH usersByArtist  GENERATE artist,userId,country,track;
    dump result;
    store result into '/user/hduser/userbyartistSorted' USING PigStorage('|');
    edit: test fichier output

    hadoop fs -ls /user/hduser/userbyartistSorted

    Found 2 items
    -rw-r--r-- 1 hduser supergroup 0 2015-10-01 23:33 /user/hduser/userbyartistSorted/_SUCCESS
    -rw-r--r-- 1 hduser supergroup 166 2015-10-01 23:33 /user/hduser/userbyartistSorted/part-r-00000

    hduser@stargate:~$ hadoop fs -cat /user/hduser/userbyartistSorted/part-r-00000
    Jarre|r199999|uk|Calypso
    Jarre|c182939|it|Equinoxe
    Jarre|a120939|fr|Oxygene
    MikeOldField|at83939|gr|crisis
    TangerineDream|c182939|it|Melrose
    Vangelis|f182939|fr|1492

Discussions similaires

  1. creer base de donée pour facture d'eau
    Par afroweb dans le forum Schéma
    Réponses: 9
    Dernier message: 31/03/2009, 21h31
  2. Réponses: 1
    Dernier message: 01/04/2005, 09h39
  3. Mkisofs - problème pour créer une image
    Par tomnie dans le forum Applications et environnements graphiques
    Réponses: 4
    Dernier message: 04/08/2004, 11h44
  4. [PowerAMC] Comment s'en servir pour creer une base?
    Par Elmilouse dans le forum Access
    Réponses: 2
    Dernier message: 27/07/2004, 09h53
  5. [analyse de syntaxe] pour C et C++ sur Linux
    Par Madmac dans le forum Autres éditeurs
    Réponses: 4
    Dernier message: 10/07/2004, 06h37

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo