Nous utilisons des cookies pour vous garantir la meilleure expérience sur notre site. Si vous continuez à utiliser ce dernier, nous considèrerons que vous acceptez l'utilisation des cookies. J'ai compris ! ou En savoir plus !.
banniere

Le portail francophone de la géomatique


Toujours pas inscrit ? Mot de passe oublié ?
Nom d'utilisateur    Mot de passe              Toujours pas inscrit ?   Mot de passe oublié ?

Annonce

Rencontres QGIS 2025

L'appel à participation est ouvert jusqu'au 19 janvier 2025!

#1 Thu 29 November 2012 09:34

titou30
Participant occasionnel
Date d'inscription: 13 Mar 2012
Messages: 25

Contourner les limites de volume de traitement

Bonjour à tous,

En fait ce post regroupe plusieurs questions tournant autour du même thème : les volumes et le fonctionnement de l'écriture des fichiers par FME.

1ere question : je cherche à écrire du .asc à partir d'un jeu de données sources en .asc, identique au niveau de la structure (mêmes attributs, mêmes noms d'objets en fait j'ai fait "dupliquer"). Dans mon workbench je ne fais rien de spécial : des reprojections.
J'ai 2 millions d'objets à passer pour un fichier source de 800 MO.

Or lors de l'execution du workbench, je constate que mon fichier résultat gonfle et gonfle, jusqu'à atteindre plus de 1,6 GO, ce qui ralentit considérablement la durée de traitement, jusqu'à la rendre finalement interminable.
Du coup j'arrête le traitement et en examinant mon fichier résultat, je vois la présence de pleins d'attributs générés par FME dont je ne veux pas (fme_*) qui expliquent pourquoi le fichier est aussi gros.
Chose étrange, si le traitement arrive à aller jusqu'au bout (pour des fichiers moins gros), alors ces attributs résiduels disparaissent à la fin..

D'où mes questions : est-ce le mode d'écriture normal de FME, dont on perçoit les difficultés uniquement dans le cas de gros fichiers ?
Peut-on le contourner ?

Peut-on par le lancement d'un seul workbench faire en sorte de lire les 500 000 premières entités, d'écrire un fichier résultat, puis les 500 000 suivantes, d'écrire un fichier, etc. ?

Enfin, pour information, il y a-t-il un volume maximal de traitement toléré par FME ?

Merci de m'avoir lu.

Hors ligne

 

#2 Thu 29 November 2012 10:27

MagBar
Participant assidu
Date d'inscription: 27 Jun 2012
Messages: 203

Re: Contourner les limites de volume de traitement

il me semble sans vouloir dire de bêtise que tu as un paramétrage sur les entités Sources qui permets de prendre en compte ou non les attributs FME

quand tu vas dans les propriétés de ta source, onglet "Attributs de format" tu as la possibilité de cocher ou décocher ceux que tu souhaites avoir (idem quand tu créer ta source au départ)..
ensuite, je pense que si ces attrubuts ressortent pas à la fin c'est qu'ils ne sont tout simplement pas reliés à un attribut Destination...

Enfin, à voir avec les plus expérimentés sur le sujet.

Dernière modification par MagBar (Thu 29 November 2012 10:28)


Fichier(s) joint(s) :
Pour accéder aux fichiers vous devez vous inscrire.

Hors ligne

 

#3 Thu 29 November 2012 17:25

titou30
Participant occasionnel
Date d'inscription: 13 Mar 2012
Messages: 25

Re: Contourner les limites de volume de traitement

Salut MagBar, merci pour ta réponse.

Ces attributs de format ne sont pas cochés.
Ils ne sont pas écrits une fois le traitement achevés, mais j'ai constaté qu'ils apparaissaient dans le fichier quand le traitement est en cours, de façon "temporaire" donc. Sauf que quand les fichiers sont trop volumineux, ça explose et l'ordi n'a plus assez de ressources pour aller écrire dans un fichier qui devient trop gros..

Hors ligne

 

#4 Fri 30 November 2012 11:56

MagBar
Participant assidu
Date d'inscription: 27 Jun 2012
Messages: 203

Re: Contourner les limites de volume de traitement

alors j'espère que quelqu'un te donnera une meilleure réponses.. Je suis curieuse de la lire également smile

Hors ligne

 

#5 Wed 05 December 2012 09:02

titou30
Participant occasionnel
Date d'inscription: 13 Mar 2012
Messages: 25

Re: Contourner les limites de volume de traitement

Bonjour à tous,

A défaut de savoir si on pouvait éviter l'écriture de ces lignes temporaires, voici une idée de solution un peu bricolée semi-automatique permettant de découper le traitement, mais en ne lançant qu'une seule fois le workbench :

Dans mon workbench, je publie les paramètres suivants :
- entité de départ
- nombre max d'entité à lire
- chemin du fichier source
- chemin du fichier destination

Et je les laisse non renseignés.

Puis j'ai créé un simple tableau (excel ou csv) avec dans mon cas 3 colonnes : chemin - entité de départ - nombre max d'entité
Puis j'ajoute autant de ligne que je veux pour "découper" mon traitement (pour moi 3 avec sur la premiere ligne une lecture des données de 0 à 800 000 le résultat allant dans le fichier destination 1, puis une deuxième de 800 000 à 1 600 000 dans le fichier destination 2, etc.)

Enfin, je créé un autre workbench avec en données sources mon fichier excel ou csv ("de parametrage") et un simple transformer workspacerunner qui va lancer successivement mes 3 traitements.

Avantage : on peut laisser tourner la nuit, les fichiers n'explosent plus en volume, on peut découper en autant de fois que l'on veut en changeant le paramètrage du csv
Inconvénient : je ne sais pas récupérer le listing du nombre d'entités écrites (d'habitude il apparait dans le log du workbench mais ici tout se passe dans le workspacerunner), ce qui serait vraiment pratique pour faire des contrôles... Si quelqu'un a une idée ?

Hors ligne

 

#6 Wed 05 December 2012 09:41

xav
Participant assidu
Date d'inscription: 27 Oct 2005
Messages: 280

Re: Contourner les limites de volume de traitement

As tu essayé le transformer Logger qui permet a priori de gérer les log (mais je ne l'ai jamais utilisé)


Xavier Lang
Information géographique et observatoire - DSI Communautaire
Cap Atlantique

Hors ligne

 

#7 Wed 05 December 2012 13:54

titou30
Participant occasionnel
Date d'inscription: 13 Mar 2012
Messages: 25

Re: Contourner les limites de volume de traitement

J'avoue ne pas maitriser ce transformer, je n'ai jamais trop compri ce qu'il apportait, et dans mon cas comment l'utiliser pour récupérer les informations sur le nombre d'entités traitées, classé par type d'entité.

Hors ligne

 

#8 Wed 05 December 2012 14:02

pyjoubert
Participant assidu
Lieu: Lyon
Date d'inscription: 21 Mar 2006
Messages: 347

Re: Contourner les limites de volume de traitement

Bonjour,
Un logger écrit justement ce que tu veux dans le log de la transformation. Tu peux écrire du Francais, mais aussi le contenu de variable.

du style
J'en suis à l'entité numero  &nb_entite. Sa surface est &surf

Dernière modification par pyjoubert (Wed 05 December 2012 14:05)

Hors ligne

 

#9 Wed 05 December 2012 14:20

titou30
Participant occasionnel
Date d'inscription: 13 Mar 2012
Messages: 25

Re: Contourner les limites de volume de traitement

D'accord, merci pour la précision,

En revanche là les informations qui m'intéressent sont dans le transformer Workspacerunner qui lui même fait tourner un workbench de façon "transparente", donc je ne suis pas sûr d'arriver à attraper le log de ce dernier !

Hors ligne

 

#10 Thu 06 December 2012 11:50

MagBar
Participant assidu
Date d'inscription: 27 Jun 2012
Messages: 203

Re: Contourner les limites de volume de traitement

moi je me suis créé mes propre Log au format Excel, mais ça complexifie les projet : j'utilise des transformers pour compter les entités à chaque étapes, je me créer un attribut Compte rendu et Nombre de polygone , et créer à chaque étape une valeur avec le libelé du CR et intègre le compte d'entité. Du coup j'ai un fichier excel en sortis qui reprends tout ces attributs. .

Pour compter les polygones je crée un attribut à valeur 1 pour tous les polygones et utilise le StatisticCalculator pour sommer le tout.

Le problème avec le logger, c'est que je n'ai pas trouver comment centraliser les informations en fin de log par exemple. C'est mis au milieu de la log, et il y a un travail de recherche à faire. Si vous savez comment choisir la position du message de log, je suis toute ouïe ...


Je ne connaissait pas le transformer workspacerunner. Je vais regarder de plus près wink

Hors ligne

 

Pied de page des forums

Powered by FluxBB