Mon programme reçoit de gros fichiers CSV et les transforme en fichiers XML. Afin d'avoir une meilleure performance, je voudrais diviser ces fichiers en plus petits segments de (par exemple) 500 lignes. Quelles sont les bibliothèques Java disponibles pour le fractionnement des fichiers texte?Bibliothèques séparées de fichiers texte en Java
Répondre
Qu'avez-vous l'intention de faire avec ces données?
S'il s'agit simplement d'enregistrer par traitement d'enregistrement, l'analyse syntaxique orientée événement (SAX ou StaX) sera la solution. Pour un enregistrement par traitement d'enregistrement, une boîte à outils "pipeline" existante peut être applicable.
Vous pouvez pré-traiter votre fichier avec une fonction de séparation comme this one ou this Splitter.java.
Je ne comprends pas ce que vous pourriez gagner en divisant le fichier CSV en fichiers plus petits? Avec Java, vous pouvez lire et traiter le fichier au fur et à mesure, vous n'avez pas besoin de le lire tout d'un coup ...
Comment envisagez-vous de distribuer le travail une fois les fichiers divisés?
J'ai fait quelque chose de similaire à cela sur un framework appelé GridGain - c'est un framework de grille de calcul qui vous permet d'exécuter des tâches sur une grille d'ordinateurs. Avec cela en main, vous pouvez ensuite utiliser un fournisseur de cache tel que JBoss Cache pour distribuer le fichier à plusieurs nœuds, spécifier un numéro de ligne de début et de fin et un processus. Cela est décrit dans l'exemple GridGain suivant: http://www.gridgainsystems.com/wiki/display/GG15UG/Affinity+MapReduce+with+JBoss+Cache
Vous pouvez également rechercher quelque chose comme Hadoop et le système de fichiers Hadoop pour déplacer le fichier entre différents nœuds.
Le même concept peut être effectué sur votre machine locale en chargeant le fichier dans un cache, puis en affectant certains "morceaux" du fichier à traiter par des threads séparés. Les trucs de calcul en grille ne sont vraiment que pour de très gros problèmes, ou pour fournir un certain niveau d'évolutivité de façon transparente à votre solution. Vous devrez peut-être surveiller les goulots d'étranglement et les verrous des E/S, mais un simple pool de threads dans lequel vous enverrez des "jobs" après que le fichier a été divisé pourrait fonctionner.
- 1. Bibliothèques Java VNC
- 2. Lire des fichiers texte Unicode avec Java
- 3. Classification de texte en Java
- 4. Des bibliothèques/modules pour la gestion de fichiers en python?
- 5. Génération de fichiers PDF en Java à l'aide d'iText. Prise en charge de texte flottant libre
- 6. Des bibliothèques python pour analyser les fichiers de configuration apache?
- 7. Fichiers de ressources Java
- 8. Indexation de fichiers texte en PHP
- 9. Valeurs séparées par des virgules
- 10. Analyse de fichier texte en Java
- 11. Comment travailler avec plusieurs fichiers et bibliothèques C# en F #?
- 12. Comment gérez-vous les fichiers de configuration et les bibliothèques intégrés dans les webapps java?
- 13. VBScript comment diviser une séparés ET séparées séparées valeurs espacées?
- 14. Déclarations de commutation séparées multiples
- 15. Recommandez XML Difference bibliothèques Java open source?
- 16. Bibliothèques OCSP pour python/java/c?
- 17. Bibliothèques graphiques Java pour applications Web?
- 18. Bibliothèques partagées Websphere et sécurité Java 2
- 19. Quelques conseils pour le traitement de fichiers volumineux en Java
- 20. Préchargement de classes/bibliothèques java au démarrage de jar?
- 21. Bibliothèques Mac pour traitement audio/fractionnement de fichiers son
- 22. Comment utiliser les bibliothèques communes pour plusieurs projets Web Java
- 23. Algorithmes ou bibliothèques pour l'analyse textuelle, en particulier: mots dominants, phrases à travers le texte et collection de texte
- 24. Java de formatage de texte
- 25. Quelles (bonnes) bibliothèques de serveurs Java RADIUS sont disponibles?
- 26. Ouverture de fenêtres séparées avec Start
- 27. Création de noms de fichiers valides en Java
- 28. Regroupement des résultats d'API séparées
- 29. Meilleure méthode d'analyse de fichiers texte en C#?
- 30. Bibliothèques de correction d'erreurs?
J'utilise une traduction B2B commerciale SW pour transformer le fichier CSV en XML et, ce logiciel ne gère pas très bien les fichiers volumineux ... – Otavio
Quelle est la taille de vos fichiers? J'ai vu des applications Java gérer des fichiers avec des millions de lignes sans perdre de temps. Cela dépend de la façon dont ils sont codés ... –