Maison >Java >javaDidacticiel >Traitez un gros fichier CSV avec un traitement parallèle #eg39
Un fichier csv stocke une grande quantité de données de commandes.
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.
É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!