我正在从 S3 下载一个文件(确切地说是一组镶木地板文件)并将其转换为 Pandas DataFrame
。我正在使用 Pandas 函数执行此操作read_parquet
,并且s3fs
如此处所述:
df = pd.read_parquet(f's3://{bucket}/{path}')
但是,到目前为止,我只能通过环境变量或 AWS 配置文件进行身份验证。由于公司标准,我希望通过局部变量进行身份验证,例如我们使用的方式pyarrow.parquet
:
fs = s3fs.S3FileSystem(key=config.AWS_ACCESS_KEY_ID, secret=config.AWS_SECRET_ACCESS_KEY)
df = pq.ParquetDataset(f's3://{bucket}/{path}', filesystem=fs).read().to_pandas()
有没有办法做到这一点read_parquet
?我不能filesystem
用它来争论吗?
如果有人好奇,我没有使用pq.ParquetDataset
它,因为它太慢了(我不知道为什么)。