¡Me gustaría escribir un objeto json en S3 en parquet usando Amazon Lambda (python)!
Sin embargo, no puedo conectar fastparquet lib con boto3 para hacerlo, ya que la primera lib tiene un método para escribir en un archivo y boto3 espera que se coloque un objeto en el depósito S3
Cualquier sugerencia ?
ejemplo de parquet rápido
fastparque.write('test.parquet', df, compression='GZIP', file_scheme='hive')Ejemplo de Boto3
client = authenticate_s3() response = client.put_object(Body=Body, Bucket=Bucket, Key=Key)el cuerpo correspondería al contenido de parquet! y permitiría escribir en S3
Puede escribir cualquier marco de datos en S3 utilizando el argumento open_with del método de write (consulte el documento de fastparquet )
import s3fs from fastparquet import write s3 = s3fs.S3FileSystem() myopen = s3.open write( 'bucket-name/filename.parq.gzip', frame, compression='GZIP', open_with=myopen )