【发布时间】:2021-02-11 17:13:15
【问题描述】:
我正在尝试使用 pyarrow 从 S3 读取一堆 gzip 压缩的 csv 文件。
pyarrow.csv.read_csv 的文档页面说
如果是字符串或路径,并且以可识别的压缩文件扩展名结尾(例如“.gz”或“.bz2”
很遗憾,我无法提供字符串值作为输入路径,因此 CSV 阅读器假定没有压缩。
import s3fs
import pyarrow.csv as pv
s3 = s3fs.core.S3FileSystem(anon=False)
csv_path = 's3://bucket_name/path/to/file.csv.gz'
with s3.open(csv_path) as s3fp:
table = pv.read_csv(s3fp)
我试图更深入地研究 pyarrow 内部结构,但我无法确定一种方法来传递压缩类型的附加参数。
【问题讨论】:
-
目前,只有在将实际路径传递给本地文件时才能读取压缩文件。所以你的解决方法很好,但我打开了一个问题来跟踪可能的增强功能:issues.apache.org/jira/browse/ARROW-10425