Maison  >  Article  >  Java  >  Traitez un gros fichier CSV avec un traitement parallèle #eg39

Traitez un gros fichier CSV avec un traitement parallèle #eg39

WBOY
WBOYoriginal
2024-09-12 10:16:54676parcourir

Un fichier csv stocke une grande quantité de données de commandes.

Process a large csv file with parallel processing #eg39

Utilisez Java pour traiter ce fichier : recherchez les commandes dont les montants sont compris entre 3 000 et 5 000, regroupez-les par clients, additionnez les montants des commandes et comptez les commandes.

Process a large csv file with parallel processing #eg39
Écrivez la déclaration SPL suivante :

=file("d:/OrdersBig.csv").cursor@mtc(;8).select(Montant>=3000 && Montant<5000).groups(Client;sum(Montant):amt,count(1 ):cnt)

La fonction curseur() analyse un fichier volumineux qui ne peut pas tenir dans la mémoire ; par défaut, il effectue le calcul série. L'option @m permet la récupération de données multithread ; 8 est le nombre de threads parallèles ; L'option @t permet d'importer la première ligne en tant que titres de colonnes ; et l'option @c permet d'utiliser la virgule comme séparateur.

Lisez Comment appeler un script SPL en Java pour découvrir comment intégrer SPL dans une application Java.

C'est l'un des problèmes sur StackOverflow. Vous pouvez cliquer dessus pour voir que la solution conventionnelle est assez compliquée, mais l'approche SPL est vraiment simple et efficace.

Adresse open source SPL

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn