我想用亚马逊Lambda(python)在镶木地板上写一个json对象到S3!
但是我无法将fastparquet lib与boto3连接起来,因为第一个lib有一个写入文件的方法,boto3期望一个对象放入S3桶
有什么建议吗?
fastparquet的例子
fastparque.write('test.parquet', df, compression='GZIP', file_scheme='hive')
Boto3的例子
client = authenticate_s3()
response = client.put_object(Body=Body, Bucket=Bucket, Key=Key)
身体将对应于镶木地板内容!它会允许写入S3
您可以使用open_with
方法的write
参数将任何数据帧写入S3(请参阅fastparquet's doc)
import s3fs
from fastparquet import write
s3 = s3fs.S3FileSystem()
myopen = s3.open
write(
'bucket-name/filename.parq.gzip',
frame,
compression='GZIP',
open_with=myopen
)