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

  1. #1
    Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    octobre 2012
    Messages
    85
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : octobre 2012
    Messages : 85
    Points : 63
    Points
    63

    Par défaut Manipulation de données entre un fichier CSV et une table

    Bonjour à tous,

    Je suis en train d'essayer de mettre en place un petit script en pyspark mais je suis bloqué depuis quelques jours.

    Je vous explique rapidement le contexte, j'ai un fichier en entrée (csv) avec la structure suivante : "code_vente; mois_versement ; montant" (exemple : 13 ; 12/2017 ; 500) et une table où je peux retrouver ces données (le champ "mois_versement" n'est pas sur le même format sur la table) mais aussi d'autres notamment le chiffre d'affaires du code_vente.

    L'objectif étant d'afficher le CA des 6 derniers mois du code_vente en fonction de la colonne "mois_versement".

    Je donne un exemple simple, si dans le fichier en entrée j'ai :
    code_vente : 13
    mois_versement : 12/2017
    montant = 500

    il faut que j'affiche un nouveau tableau
    code_vente : 13
    Chiffre d'affaires des 6 derniers mois (07/2017 à 12/2017) - données provenant de la table

    En dehors du code, il me faut de l'aide sur l'algorithme à créer mais dans un environnement bigdata et pyspark.
    J'ai fait une jointure entre mon fichier csv et la table sur le code_vente, j'ai changé le format de date du csv pour être identique à la table, mais ensuite je ne sais pas comment m'y prendre pour afficher dans un tableau le Chiffre d'affaires des 6 derniers mois en fonction du champ "mois_versement" du fichier csv.

    J'espère que c'est assez clair..
    Je vous remercie par avance.

  2. #2
    Expert éminent Avatar de Flodelarab
    Homme Profil pro
    Inscrit en
    septembre 2005
    Messages
    3 219
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Charente (Poitou Charente)

    Informations forums :
    Inscription : septembre 2005
    Messages : 3 219
    Points : 7 530
    Points
    7 530

    Par défaut

    Bonjour

    Qu'est-ce que tu as tenté jusqu'à maintenant ?

    Il n'y a, à première vue, aucune difficulté.

    et une table où je peux retrouver ces données
    A quoi sert la table, puisqu'on a déjà les 3 données essentielles ?

    j'ai changé le format de date du csv pour être identique à la table,
    Perso, j'aurais tout mis en secondes depuis l'Epoch.

    le CA des 6 derniers mois du code_vente
    Tu comptes en mois calendaires (le mois en cours est tronqué) ou en mois de date à date (le dernier mois est du 11 juin au 11 juillet car nous sommes le 11 juillet) ?

    dans un environnement bigdata
    Frime.

    J'ai fait une jointure entre mon fichier csv et la table sur le code_vente
    Quelle drôle d'idée. Un filtre suffisait, non ?

    J'espère que c'est assez clair..
    ton message n'a pas de point d'interrogation. C'est souvent un indice qu'il n'y a pas de question.
    Et effectivement, il n'y en a pas.
    • Tu filtres les codes ventes
    • Tu sommes par mois.
    • Tu sors les 6 plus récents.

    Aucune difficulté algorithmique.
    Pourquoi demander de l'aide ?
    Un problème avec le python ? Avec le pyspark ?
    Les linuxiens traiteraient tout le problème en 1 seule ligne de commande awk.
    Cette réponse vous apporte quelque chose ? Cliquez sur en bas à droite du message.
    Votre problème est résolu ? Cliquez sur en bas de page.

    Linux, grep/sed/awk/xml... et autres fichiers plats, Java, C++

  3. #3
    Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    octobre 2012
    Messages
    85
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : octobre 2012
    Messages : 85
    Points : 63
    Points
    63

    Par défaut

    Bonjour et merci pour ta réponse,

    Le CA n'est pas dans le fichier plat, je n'ai cette donnée que dans la table, d'où ma jointure sur le code_vente pour obtenir les CA.

    Dans mon besoin actuel c'est le mois qui m’intéresse, je n'ai pas besoin d'être au jour.

    Ma difficulté principale est de pouvoir récupérer les 6 derniers mois de CA par code_vente en fonction du champ 'mois_versement' de code_vente.

    Mais tu as raison je débute en pyspark et je trouve ce langage assez spécial... du coup je galère.

    La frime avec ton linux

  4. #4
    Rédacteur/Modérateur

    Homme Profil pro
    Ingénieur qualité méthodes
    Inscrit en
    décembre 2013
    Messages
    2 032
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur qualité méthodes
    Secteur : Conseil

    Informations forums :
    Inscription : décembre 2013
    Messages : 2 032
    Points : 4 258
    Points
    4 258

    Par défaut

    Je ne sais pas si j'ai compris la question, je vais donc essayer de la reformuler.

    Tu as un fichier CSV, avec des données (le contenu m'importe peu) ; tu as par ailleurs une table avec d'autres données. Tu as une clé qui permet de faire la jointure entre ces 2 sources.
    Tu sais parfaitement décrire en mots français ce que tu veux faire (enfin je suppose) : lire un enregistrement dans le fichier CSV, aller chercher la ou les lignes correspondantes dans la table. Et faire un traitement basique (des additions) ?

    Ce traitement, tu saurais probablement le faire dans un langage de ton choix.
    Mais ta difficulté, c'est de traduire ces 3 ou 4 étapes dans le langage Pyspark.

    C'est bien ça ?

    Si c'est ça, les gens qui peuvent t'aider, ce sont des gens qui maitrisent PySpark. Et dans ce cas, je peux déplacer la discussion dans ce forum : https://www.developpez.net/forums/f2...rise/big-data/ qui me parait plus adapté.
    N'oubliez pas le bouton Résolu si vous avez obtenu une réponse à votre question.

Discussions similaires

  1. Charger les données d'un fichier .csv dans une memoire partagée
    Par Ndeyada dans le forum Programmation système
    Réponses: 0
    Dernier message: 20/01/2016, 13h12
  2. [XL-2007] Importer les données d'un fichier .csv vers une feuille XL
    Par aminee1666 dans le forum Macros et VBA Excel
    Réponses: 5
    Dernier message: 26/07/2013, 01h48
  3. [XL-2007] Importer les données d'un fichier .csv vers une feuille XL
    Par aminee1666 dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 03/04/2013, 09h10
  4. Réponses: 7
    Dernier message: 12/11/2008, 11h59
  5. Impossible d'importer un fichier csv dans une table sous MySQL
    Par manue85 dans le forum SQL Procédural
    Réponses: 5
    Dernier message: 20/04/2006, 12h06

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