J'ai deux groupes de fichiers qui contiennent des données au format CSV avec une clé commune (Timestamp) - J'ai besoin de parcourir tous les enregistrements chronologiquement.Lecture synchronisée Python de fichiers triés
Groupe A: 'données sur l'environnement'
- Les noms de fichiers sont au format A_0001.csv, A_0002.csv, etc.
- croissant prétriés
- Key est Horodatage, ieYYYY-MM-DD HH: MM: SS
- Contient des données environnementales en format CSV/colonne
- Très grand e, plusieurs données de valeur GBs
Groupe B: 'Données de l'événement'
- noms de fichiers sont en format B_0001.csv, B_0002.csv
- croissant pré-trié
- La clé est l'horodatage, c'est-à-dire AAAA-MM-JJ HH: MM: SS
- Contient des données basées sur les événements au format CSV/colonne
- Relativement petite l par rapport aux fichiers du groupe A, < 100 MB
Quelle est la meilleure approche?
- pré-fusion: Utilisez l'une des différentes recettes là-bas pour fusionner les fichiers en une seule sortie triée, puis le lire pour le traitement
- fusion en temps réel: Mettre en œuvre le code pour « fusion 'les fichiers en temps réel
Je vais exécuter beaucoup d'itérations du côté post-traitement des choses. Des pensées ou des suggestions? J'utilise Python.
Les numéros de fichier A et B correspondent-ils les uns aux autres? –
Y at-il un fichier B pour chaque fichier A et vice versa? Tous les horodatages du fichier X_000i.csv sont-ils plus anciens que tous les horodatages du fichier X_000j.csv pour X dans (A, B) et i
Il existe plusieurs centaines de fichiers du groupe A et seulement quelques fichiers du groupe B. Les données/enregistrements de chaque type de fichier sont aléatoires en termes de distribution des enregistrements dans le temps. Cependant, le groupe A a une très grande population d'enregistrements et, en tant que tel, chaque cachet est généralement couvert, mais les enregistrements du groupe B sont beaucoup plus petits en nombre, de sorte que les enregistrements sont largement dispersés. – belvoir