Désolé pour le titre très général mais je vais essayer d'être aussi précis que possible.fusion de dictionnaires en python
Je travaille sur une application d'exploration de texte. J'ai un grand nombre de paires de valeurs clés de la forme ((mot, corpus) -> occurence_count) (tout est un entier) que je stocke dans plusieurs dictionnaires python (tuple-> int). Ces valeurs sont réparties sur plusieurs fichiers sur le disque (je les ai décapés). Pour avoir une idée des données, j'ai besoin d'agréger ces dictionnaires Fondamentalement, je dois trouver un moyen de trouver toutes les occurrences d'une clé particulière dans tous les dictionnaires, et les additionner pour obtenir un nombre total.
Si je charge plus d'un dictionnaire à la fois, je manque de mémoire, ce qui explique pourquoi j'ai dû les séparer en premier lieu. Quand j'ai essayé, j'ai rencontré des problèmes de performance. J'essaie actuellement de stocker les valeurs dans une base de données (mysql), en traitant plusieurs dictionnaires à la fois, puisque mysql fournit un verrouillage au niveau des lignes, ce qui est à la fois bon (puisque cela signifie que je peux paralléliser cette opération) les requêtes d'insertion)
Quelles sont mes options ici? Est-ce une bonne idée d'écrire un dictionnaire basé sur un disque partiel pour que je puisse traiter les dicts un à la fois? Avec une stratégie de remplacement LRU? Y at-il quelque chose que je suis complètement inconscient?
Merci!
Définir "grand nombre". "Je n'ai plus de mémoire". Vraiment? Sans détails comme le nombre d'éléments dans le dictionnaire, je trouve cela difficile à comprendre. "Quand j'ai essayé, j'ai rencontré des problèmes de performance". Essayé quoi? –
Quand vous dites "tout est un entier", voulez-vous dire que le mot et le corpus sont des entiers d'un mot et d'un corpus? Le mot ids est-il cohérent à travers les corpus? – forefinger
merci à tous! J'ai redéfini un peu le problème pour le résoudre. – fsm