首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何使用awswrangler只读取存储在S3中的拼花文件的前几行N行?

如何使用awswrangler只读取存储在S3中的拼花文件的前几行N行?
EN

Stack Overflow用户
提问于 2022-05-25 12:15:04
回答 1查看 849关注 0票数 2

我试图使用awswrangler将存储在S3中的任意大小的拼花文件读入熊猫的数据中,但由于文件的大小(以及我的带宽不足),我的查询限制在第一个N行。

我看不出怎么做,也看不出在不搬迁的情况下是否可行。

例如,在阅读了第一个块之后,我可以使用chunked=INTEGER并中止吗?如果是这样的话,如何使用呢?

我遇到了这个不完整的解决方案(最后N行;)使用pyarrow - 阅读最后N行S3拼花表 -但是基于时间的过滤器对我来说并不理想,而且被接受的解决方案甚至没有到故事的结尾(尽管它是有用的)。

或者,如果不先下载文件(我现在可能已经下载了),还有其他方法吗?

谢谢!

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2022-06-10 09:15:16

您可以使用S3选择使用awswrangler来实现这一点。例如:

代码语言:javascript
运行
复制
import awswrangler as wr

df = wr.s3.select_query(
        sql="SELECT * FROM s3object s limit 5",
        path="s3://amazon-reviews-pds/parquet/product_category=Gift_Card/part-00000-495c48e6-96d6-4650-aa65-3c36a3516ddd.c000.snappy.parquet",
        input_serialization="Parquet",
        input_serialization_params={},
        use_threads=True,
)

将只从S3对象返回5行。

这在其他读取方法中是不可能的,因为在读取整个对象之前必须先在本地提取它。使用S3 select,过滤将在服务器端完成

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/72377467

复制
相关文章

相似问题

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