请原谅我在这方面的无知/缺乏知识
我想上传一个数据帧到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
你可以这样做:
对于熊猫1.2.0,这里提到了
storage_options
如果你被熊猫困住了<;1.2.0(在我的例子中是1.1.3),这个技巧确实有帮助:
相关问题 更多 >
编程相关推荐