2017-09-07 1 views
0

Est-ce que quelqu'un a résolu l'erreur: message: compressions['SNAPPY'] = snappy.compress AttributeError: module 'snappy' has no attribute 'compress' lors de la lecture de parquet en python? BTW, est-il un moyen de lire le répertoire entier?python 3 mac: snappy.compress AttributeError: le module 'snappy' n'a pas d'attribut 'compress'

J'utilise python 3 par conda sur Mac avec snappy et thrift installé comme par https://pypi.python.org/pypi/parquet

Code

comme suit:

import parquet 
import json 
import fastparquet 

with open(data_in_path + "file.parquet/part-01snappy.parquet", 'rb') as fo: 
for row in parquet.DictReader(fo, columns=['id', 'title']): 
    print(json.dumps(row)) 

ou

df2 = fastparquet.ParquetFile(path).to_pandas() 

Répondre

0

n'a pas été en mesure de trouver snappy solution , donc je lis les données dans spark avec snappy et écrire en arrière avec gzip après chaque pas de problème en Python sont trouvés:

df.coalesce(1).write.option("overwrite","true").option("compression","gzip").parquet(dfWithGzip.parquet") 
0

J'ai eu le même problème.

La raison était que j'ai installé le mauvais paquet python. Vous devez installer python-snappy au lieu de snappy

Dans mon cas (os x), il était un simple processus en deux étapes:

brew install snappy 
pip install python-snappy