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

Web Perl Discussion :

lecture, decompression d'un fichier gzip volumineux


Sujet :

Web Perl

  1. #1
    Membre régulier
    Inscrit en
    Mars 2007
    Messages
    120
    Détails du profil
    Informations forums :
    Inscription : Mars 2007
    Messages : 120
    Points : 76
    Points
    76
    Par défaut lecture, decompression d'un fichier gzip volumineux
    Bonjour
    j'ai une serieuse problématique
    je recois chaque jour un fichier xml compressé de taille 600Mo avec lequel je dois alimenter une base de données, en le decompressant il c'est extracté en 5Go et la lecture et même le décompression sont devenues impossible, le serveur se plante.
    je me suis dis que perl pourra régler ce probleme,
    j'ai entendu parler de queques modules de décompression des fichiers

    Archive::machin
    PerlIO::gzip
    mais je suis débutant en Perl et je ne sais comment les exploiter
    tout dabord je vous montre les module dont dispose mon serveur,
    http://savelots.com/modules.txt
    et j'aimerais savoir
    -est ce que c'est faisable en perl
    -quels sont les modules qui vont m'aider
    -est ce que je peux les installer sur mon serveur apache s'ils sont pas dans ma liste
    -et comment mettre en place la solution.
    j'ai trouvé ça http://www.developpez.net/forums/sho...d.php?t=168225
    m'ai j'ai pas su m'en servir.

    Vous auriez pas peut être la solution?

    Merci de votre aide

  2. #2
    Expert éminent
    Avatar de Jedai
    Homme Profil pro
    Enseignant
    Inscrit en
    Avril 2003
    Messages
    6 245
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Côte d'Or (Bourgogne)

    Informations professionnelles :
    Activité : Enseignant

    Informations forums :
    Inscription : Avril 2003
    Messages : 6 245
    Points : 8 586
    Points
    8 586
    Par défaut
    Attention, ton XML est sans doute bien trop gros pour ton serveur... Il va falloir mettre à jour ta base de donnée au fûr et à mesure que tu lis le .gz.
    Tu as tous les modules nécessaires à la décompression de ton .gz, par exemple :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    #!/usr/bin/perl
    use strict; use warnings;
    use IO::Zlib;
     
    my $gz_filename = 'xml.gz';
     
    my $xml = IO::Zlib->new( $gz_filename, 'rb' );
    die "Couldn't open $gz_filename : $!\n" unless defined $xml;
     
    while ( my $line = <$xml> ) {
      # do something with $line (feed it to a SAX parser ??)
    }
     
    undef $xml; # to close the file
    --
    Jedaï

  3. #3
    Futur Membre du Club
    Étudiant
    Inscrit en
    Février 2008
    Messages
    5
    Détails du profil
    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Février 2008
    Messages : 5
    Points : 6
    Points
    6
    Par défaut
    Tu veux donc juste decompresser ton archive ?

    Je peut dèjà te conseiller deux modules:

    -Archive::Zip
    -PerlIO::gzip

    fin si tu peux répondre à ma question ^^.

Discussions similaires

  1. Lecture de fichiers .txt volumineux
    Par BlackAlpha dans le forum C#
    Réponses: 24
    Dernier message: 16/01/2020, 13h21
  2. [PHP 5.3] Lecture fichier texte volumineux
    Par flozza dans le forum Langage
    Réponses: 1
    Dernier message: 02/07/2012, 09h56
  3. Lecture réécriture d'un fichier volumineux jpg
    Par hat_et_m dans le forum Langage
    Réponses: 4
    Dernier message: 30/08/2011, 00h45
  4. Decompresser des fichiers gzip
    Par jouclar dans le forum Général Python
    Réponses: 1
    Dernier message: 15/02/2011, 19h40

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