J'ai un grand ensemble de données (~ 600 Go) stocké en format HDF5. Comme il est trop grand pour tenir dans la mémoire, je voudrais le convertir au format Parquet et utiliser pySpark pour effectuer un prétraitement de base des données (normalisation, trouver des matrices de corrélation, etc.). Cependant, je ne sais pas comment convertir l'ensemble de données complet en Parquet sans le charger en mémoire.Conversion de HDF5 en Parquet sans chargement en mémoire
J'ai regardé cet aspect: https://gist.github.com/jiffyclub/905bf5e8bf17ec59ab8f#file-hdf_to_parquet-py, mais il semble que tout l'ensemble de données est en cours de lecture en mémoire.
Une chose que je pensais était en train de lire le fichier HDF5 en morceaux et enregistrer que progressivement dans un fichier Parquet:
test_store = pd.HDFStore('/path/to/myHDFfile.h5')
nrows = test_store.get_storer('df').nrows
chunksize = N
for i in range(nrows//chunksize + 1):
# convert_to_Parquet() ...
Mais je ne peux pas trouver toute la documentation qui me permettrait de construire progressivement un parquet fichier. Tous les liens vers d'autres lectures seraient appréciés.
Notez que les jeux de données Parquet sont composés de plusieurs fichiers. Ils n'ont pas besoin de contenir un seul gros fichier, donc l'approche par morceaux est une bonne approche. Il pourrait y avoir 1000 fichiers et c'est bien –