如何解决在 dask 延迟的情况下从 s3 加载羽毛文件
我有一个包含多个 .feather
文件的 s3 文件夹,我想使用 python 将这些文件加载到 dask
中,如下所述:Load many feather files in a folder into dask。我尝试了两种方法都给我不同的错误:
import pandas as pd
import dask
ftr_filenames = [
's3://my-bucket/my-dir/file_1.ftr','s3://my-bucket/my-dir/file_2.ftr',.
.
.
's3://my-bucket/my-dir/file_30.ftr'
]
delayed_files = dask.bytes.open_files(ftr_filenames,'rb')
# ---------------------------option 1 --------------------------------
dfs = [dask.delayed(pd.read_feather)(f) for f in delayed_files]
# ---------------------------option 2 --------------------------------
dfs = [dask.delayed(feather.read_dataframe)(f) for f in delayed_files]
# --------------------------------------------------------------------
df = dask.dataframe.from_delayed(dfs)
# -------------------------- error 1 ------------------------------
# 'S3File' object has no attribute '__fspath__'
# -------------------------- error 2 ------------------------------
# Cannot convert OpenFile to pyarrow.lib.NativeFile
是否有另一种方法可以从 s3 读取这些文件?这里的主要目的是规避由 pd.concat
引起的内存问题。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。