2 votes

Triage d'un fichier texte délimité VRAIMENT GRAND sous UNIX / VMS

Je vais trier un fichier texte délimité VRAIMENT GROS, disons 250 Mo (ou un ensemble de fichiers de plus ou moins de 250Mo). Il comporte 37 champs, et j'ai besoin de le trier par 5 champs, par exemple le 1er, 4e, 5e, 6e et 7e champs. Sous Unix / VMS, ai-je une bonne option pour le faire RAPIDEMENT? Je peux écrire un programme COBOL.
Maintenant j'essaie de les trier en utilisant la commande ci-dessous, mais cela prend déjà beaucoup de temps et ne semble pas près de finir.

Merci.

La commande que j'ai utilisée : time sort -t ',' -o sorted.txt +0 -1 +4 -5 +5 -6 +6 -7 +22 -23 *.DAT_gprscdr_ftpd

3voto

ijmcfarland Points 1

Peut-être cette question devrait-elle vraiment être sur un autre site SE, mais voici mon avis sur cette question.

1) Est-ce que le tri de base que vous avez fourni dans votre question est assez rapide? À quelle vitesse devrait-il être? Mon ordinateur de bureau de 2 ans trie 270 Mo de fichiers journaux d'accès Apache en 21 secondes.

2) Si ce n'est pas assez rapide, vous pouvez essayer de trier d'abord chaque fichier individuellement, puis les fusionner avec "sort -m"

3) Si ce n'est toujours pas assez rapide et que vous avez plus d'un CPU/core, parallélisez le processus avec GNU Parallel

4) Si ce n'est toujours pas assez rapide et que vous avez plus de machines disponibles, parallélisez le processus de tri sur plusieurs machines avec GNU Parallel

0voto

jet Points 2753

Vous pouvez charger les données dans la base de données MySQL (commande LOAD) et faire ce que vous voulez

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X