首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >是否可以使用Dask和Fastparquet阅读器手动读取分区的拼图数据集?

是否可以使用Dask和Fastparquet阅读器手动读取分区的拼图数据集?
EN

Stack Overflow用户
提问于 2020-10-08 03:27:48
回答 1查看 482关注 0票数 1

我创建了一个按如下方式分区的拼图数据集:

代码语言:javascript
复制
2019-taxi-trips/
    - month=1/
        - data.parquet
    - month=2/
        - data.parquet
    ...
    - month=12/
        - data.parquet

此组织遵循Hive Metastore使用的Parquet dataset partitioning convention。此分区方案是手动生成的,因此目录树中的任何位置都没有_metadata文件。

现在我想将此数据集读取到Dask中。

当数据位于本地磁盘上时,以下代码可以正常工作:

代码语言:javascript
复制
import dask.dataframe as dd
dd.read_parquet(
    "/Users/alekseybilogur/Desktop/2019-taxi-trips/*/data.parquet",
    engine="fastparquet"
)

我将这些文件复制到S3存储桶(通过s3 sync;分区文件夹是存储桶like so中的顶级关键字),并尝试使用相同的基本函数从云存储中读取它们:

代码语言:javascript
复制
import dask.dataframe as dd; dd.read_parquet(
    "s3://2019-nyc-taxi-trips/*/data.parquet",
    storage_options={
        "key": "...",
        "secret": "..."
    },
    engine="fastparquet")

这会引发IndexError: list index out of rangeFull stack trace here

目前不能直接从亚马逊网络服务S3读取这样的数据集吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-10-12 01:27:05

目前,fastparquet中存在一个错误,导致此代码无法正常工作。详情请参见Dask GH#6713

同时,在这个bug被解决之前,这个问题的一个简单的解决方案是使用pyarrow后端。

代码语言:javascript
复制
dd.read_parquet(
    "s3://2019-nyc-taxi-trips/*/data.parquet",
    storage_options={
        "key": "...",
        "secret": "..."
    },
    engine="pyarrow"
)
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/64251021

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档