请原谅我在这个领域的无知/缺乏知识!
我想要将一个数据框上传到S3,但是我需要传递'ACL':'bucket-owner-full-control'。
import pandas as pd
import s3fs
fs = s3fs.S3FileSystem(anon=False, s3_additional_kwargs={'ACL': 'bucket-owner-full-control'})
df = pd.DataFrame()
df['test'] = [1,2,3]
df.head()
df.to_parquet('s3://path/to/file/df.parquet', compression='gzip')
我已经通过将其加载到Pyarrow表中,再像这样加载来解决了这个问题:
import pyarrow.parquet as pq
table = pa.Table.from_pandas(df)
pq.write_to_dataset(table=table,
root_path='s3://path/to/file/',
filesystem=fs)
但是这种做法感觉很不专业,我认为在第一个示例中必须有一种方法来传递ACL。