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

2023-12-09

我正在尝试使用 awswrangler 将存储在 S3 中的任意大的 parquet 文件读入 pandas 数据帧,但将我的查询限制为第一个N由于文件的大小(以及我较差的带宽)而导致的行。

我不知道如何做到这一点,或者是否可以在不搬迁的情况下实现。

我可以使用chunked=INTEGER并在读取第一个块后中止,如果是这样怎么办?

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

或者是否有另一种方法无需先下载文件(我现在可能已经完成了)?

Thanks!


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

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,过滤是在服务器端完成的

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何使用 awswrangler 只读取 S3 中存储的 parquet 文件的前几行 N 行? 的相关文章

随机推荐

  • 如何使用 EF6 Code First 将外键属性公开给具有导航属性的现有实体

    我有一个已经与底层数据库一起使用的实体 并且它是使用可选实体 1 0 1 的导航属性创建的 因此 按照默认约定 EF 在数据库中创建了一个可为空的外键列 并根据该约定为其指定了带下划线的 MyProp Id 名称 现在 我希望将该外键公开为
  • 在 bash 脚本中使用 grep 在日志文件上使用 tail -f

    我想创建一个脚本来查找正在写入的日志文件中的特定字符串 我想获取第一个结果并将其放入变量中以供以后使用 这将通过 SSH 连接使用 如下所示 ssh email protected bash s lt usr local bin check
  • 默认情况下使用 uuid 时 Cassandra TimeUUID 泛洪文件描述符

    我有 Cassandra 模型 import uuid from cassandra cqlengine import columns from cassandra cqlengine models import Model class M
  • 如何使用 24 位位图的 ScanLine 属性?

    如何使用ScanLine24 位位图像素操作的属性 为什么我应该更喜欢使用它而不是经常使用Pixels财产 一 简介 在这篇文章中我将尝试解释ScanLine属性用法仅适用于 24 位位图像素格式以及您是否确实需要使用它 首先来看看是什么让
  • 带有 CUDA 的 Pytorch 在 Ubuntu 上本地安装失败

    我正在尝试使用 CUDA 安装 PyTorch 我按照中提到的说明 使用 conda 安装 进行操作https pytorch org get started locally conda 安装 pytorch torchvision tor
  • 在 Ubuntu 上安装 Mono-Complete 4.8

    我正在尝试安装Mono 4 8 in a Docker图片 但我下载失败 这是 dockerfile RUN apt get update apt get install y curl rm rf var lib apt lists apt
  • 如何附加到 Azure 存储文件共享中的文件?

    我想将条目写入存储在 Azure 文件存储中的日志文件 我目前有这个 var log My log entry var client storageAccount CreateCloudFileClient var share client
  • 如何在 MongoDB shell 中创建可尾游标?

    我想直接在 MongoDB 中为上限集合创建一个无限处理循环 但我找不到如何在 MongoDB shell 中获取 tailabale 游标 在 Python 中可以使用tailable选项中集合 find 尽管 您可以使用 addOpti
  • Java:读取一个巨大文件的最后n行

    我想读取一个非常大的文件的最后 n 行 而不使用 Java 将整个文件读入任何缓冲区 内存区域 我查看了 JDK API 和 Apache Commons I O 但无法找到适合此目的的一个 我正在考虑 tail 或 less 在 UNIX
  • 使用for循环匹配具有各种扩展名的文件[重复]

    这个问题在这里已经有答案了 我正在尝试匹配并循环扩展名为 txt h py 的文件 在特定文件夹 arg 中 这是我所做的 for file in arg txt h py do done 然而 即使我有这样的文件 我也没有得到所有扩展名的
  • Android-Listview项目滚动时背景颜色变化

    My ListView包含两个Textviews 在一行中 第一个用于名称 第二个用于结果 我需要更改结果的背景颜色TextView根据结果 就像如果通过那么结果TextView结果失败时颜色将为绿色TextView颜色将是红色 我有十行L
  • NSJSONSerialization + AFNetworking 出现无法识别的选择器错误

    Update 我刚刚使用以下命令测试了从服务器返回的 JSON 格式JSONlint没关系 我在 AFNetworking 调用返回 JSON 数据的 php 脚本时遇到 NSJSONSerialization 异常 我在这里查看了具有相同
  • 复制时可执行文件以某种方式损坏

    我正在使用Qt的QNetworkAccessManager从一个地方 当前是本地机器 但将来它将是一个HTTP服务器 下载一个文件并将其临时存储在TEMP文件中 linux ubuntu 我发现的问题是该文件 这是一个可执行文件 在此过程中
  • PHP 获取目录中图像的尺寸

    我有大量照片需要整理 我需要知道每张照片的尺寸才能知道 否则需要重新调整大小 作为一名程序员 我相信必须有一种更快的方法来做到这一点 我已经走了很远了 以下代码读取目录和所有子目录 但当我尝试提取尺寸时 循环在需要检查的所有图片的 8 处停
  • 如何删除数组中的“空”元素?

    我目前正在做一个编码挑战 其中指出 给定一个单词列表 返回可以在美式键盘的一行上使用字母输入的单词 如下图所示 这是 QWERTY 键盘的图像 例子 Input Hello Alaska Dad Peace Output Alaska Da
  • Rust 打印后从控制台读取输入

    我只是在制作一个小程序 我试图通过控制台从用户那里获取输入 这是我的代码 print Enter values seperated by spaces let mut input String new match io stdin read
  • 通过HTTP适配器传递参数?

    我想在用户注册我的混合应用程序 基于 IBM Worklight 6 0 后向他 她发送一封电子邮件 我想将用户的参数 电子邮件 ID 传递到托管的 PHP 文件 我尝试直接在 URL 中发送邮件 如下所示 效果如下 http www xx
  • 将 sass 列表传递给具有多个参数的 mixin

    我正在尝试创建一个 sass mixin 它将列表中不确定数量的项目作为 mixin 中的参数 最终目标是拥有一个 mixin 可用于设置进度条不同值的颜色样式 即当进度条具有较低值时为红色 这是我为 mixin 想到的 mixin pro
  • 将粘贴表从 sql-server 复制到 Excel 的最快 ADO

    我正在将数据表从 sql server 移动到 Excel 中 我不需要浏览记录集 只是为了获取数据并将其粘贴到工作表中 我是否为记录集使用了正确的参数Open方法 Dim recSet As ADODB Recordset Set rec
  • 如何使用 awswrangler 只读取 S3 中存储的 parquet 文件的前几行 N 行?

    我正在尝试使用 awswrangler 将存储在 S3 中的任意大的 parquet 文件读入 pandas 数据帧 但将我的查询限制为第一个N由于文件的大小 以及我较差的带宽 而导致的行 我不知道如何做到这一点 或者是否可以在不搬迁的情况