J'ai une application C# qui télécharge une liste de fichiers .xml à partir d'un entrepôt de données en ligne. Cette application saute les fichiers dans un répertoire local et cela prend environ 1 heure avant que tous les fichiers 10k aient été téléchargés. C'est un processus quotidien.Comment traiter les fichiers d'un répertoire à l'aide du multithreading C#
Je dois prendre chacun de ces fichiers et extraire, transformer et charger les données contenues dans une base de données. Je voudrais faire cela en parallèle avec le téléchargement car je ne veux pas attendre jusqu'à ce que tous les fichiers sont téléchargés avant de commencer le processus ETL. Malheureusement, les fichiers XML contiennent de grandes quantités de données, donc je peux ETL environ 10 fichiers à la fois. Quelle est la bonne stratégie pour atteindre mes exigences de chargement en parallèle?
Quelles stratégies avez-vous mises au point jusqu'à présent? Quelles autres contraintes avez-vous? Quels fichiers de taille? Combien de données? Quel est votre processus ETL actuel? – Oded
Les seules contraintes sont que je ne peux pas en avoir trop (car chaque fichier est chargé dans un DOM) les fichiers ont été chargés simultanément. Les fichiers sont ~ 2 Mo chacun. Il y a 10k fichiers. Le processus ELT consiste en un fichier .exe qui analyse le fichier XML et écrit les données analysées dans la base de données SQL Server. – Guazz
Pas un dupe, mais cerainly connexes: http://stackoverflow.com/questions/3135237/ –