Traitement parallèle Split Unix

Miki -  
 mikila -
Bonjour,

Je developpe une appli qui doit traiter des sous fichiers obtenus par un split de très volumineux fichiers (insertion dans un base de donnees oblige). Le problème c'est que le split me prend des heures (ce sont des fichiers de logs ) et je dois attendre la fin de cette operation pour commencer l'insertion de mes donnees dans une base de données. Dans un souci d'optimisation, je pense qu'il serait interressant de proceder parallèlement à l'execution du split à l'insertion des données a chaque fois que le split crée un sous fichier. Quelqu'un aurait il une idee de comment recuperer parallèlement à l'execution de split un sous fichier créé?

Merci
A voir également:

4 réponses

jisisv Messages postés 3678 Statut Modérateur 935
 
Hi,
Sous quel OS d'abord?
Un véritable OS (unix)
ou un fake(Win$) ?
Johan

The software said "Requires Windows98, Win2000, or better,
So I installed Unix.
0
jisisv Messages postés 3678 Statut Modérateur 935
 
Hello,
Ceci pour savoir si on peut scripter (Good) ou pas (Bad)

The software said "Requires Windows98, Win2000, or better,
So I installed Unix.
0
Kuching Messages postés 2702 Statut Contributeur 157
 
Salut,

Depuis quelle version on n'écrit plus de scripts sous Windows?

A+  K.
0
miki
 
Salut,

Tout juste une remarque: le debat en cours semble ne pas avoir de relation avec le problème que j'ai posé.

Bonne journee a tous
0
pouet
 
c est pourtant clair: en quel langage ton script?

--
pouet
0
mikila
 
Ok, je crois que j'ai pas donné assez de details :

En fait, je reprends une appli qui utilise l'outil Sybase bcp pour effectuer l'insertion du contenu du fichier texte dans une base de données Sybase. le traitement realisé actuellement est très lent (un peu trop d'ailleurs). Ces fichiers de logs sont recuperés au format zippé. Voici une idée de bout de code utilisé actuellement pour l'insertion des donnees bruts dans la base de donnees :
%gunzip -c ${SRC} | ${FILTRE} | split -l 240000 - ${TMPDIR}/${DEST} // le fichier de log peut etre tres volumineux
// le filtre existe deja et est un script Perl
.....
....
for F_NAME in $( ls ${TO_FILE}?? ) ; do
// corps de la procedure d'insertion
% /opt/sybase/bin/bcp ${TABLE_DESTINATION} in ${FILE_SOURCE} -S ${SYB_HOST} -U ${SYB_LOGIN} -P ${SYB_PASSWD} -e ${ERROR_LOG} -b 12000
done


Soit j'essaie d'optimiser le traitement actuel par un traitement parallèle Split//bcp ou bien je passe par un script perl pour une insertion automatique après le gunzip. je veux deja votre avis sur chacune de ces solutions et si vous avez une autre optimale à me proposer.
- la machine est monoproc sous solaris 8.
- j'utilise perl/ksh pour le scripting

merci d'avance
0