我想使用 Amazon Lambda (python) 将一个 json 对象写入 parquet 中的 S3!
但是我无法将 fastparquet 库与 boto3 连接起来,因为第一个库有一个写入文件的方法,而 boto3 期望将一个对象放入 S3 存储桶
有什么建议吗?
快速 Parquet 示例
fastparque.write('test.parquet', df, compression='GZIP', file_scheme='hive')
Boto3 示例
client = authenticate_s3()
response = client.put_object(Body=Body, Bucket=Bucket, Key=Key)
Body 将对应于 Parquet 的内容!它将允许写入 S3
最佳答案
您可以使用write
方法的open_with
参数将任何数据帧写入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
)
关于python - 使用 Lambda Python 将 json 写入 Parquet 对象以放入 S3,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42721341/