pandas - 每天添加到镶木地板数据集
问题描述
我每天都会收到许多传入的数据馈送。每个文件在 10-150MB 之间。对于我得到的每个文件,我将其附加到该文件的相关镶木地板数据集。在实践中,这意味着将 days 新文件读入 pandas 数据帧,将现有 parquet 数据集读入数据帧,将新数据附加到现有数据,然后重写 parquet。从我所见,没有办法附加到镶木地板数据集,否则我会这样做。鉴于每日文件大小相对较小,我认为简单地将它们作为自己的分区写入数据集是一种浪费——我每天将添加 2-20MB 的 parquet 文件,我的理解是这对于 parquet 文件来说太小了并且有这么多分区会导致大量偷听。
我已经使用我现有的设置运行了一段时间,并且将现有的 parquet 文件读入内存实际上变得非常昂贵,最终我得到了多 GB 的数据帧。
我从这里开始的计划是在现有的未分区数据集(例如年或年/季度)上定义一个新分区,然后在运行该过程时只在相关分区中读取新数据,将新数据附加到它,然后重写只有那个分区。
我相当肯定这将起作用并解决我的问题,但确实需要做一些工作来确保它正常工作并扩展到我的所有用途/数据集。在继续之前,我想看看是否有其他更清洁/更简单的方法可以使用 pandas/pyarrow/dask 逐步添加到镶木地板数据集。
解决方案
推荐阅读
- vb.net - VB.Net - 更改面板的边框颜色
- java - 为身份验证管理器自动装配
- android - 当我在 Android 中锁定设备的屏幕时会发生什么
- node.js - 内部/模块/cjs/loader.js:638 抛出错误
- prestashop-1.7 - 在 Prestashop 1.7 中按顺序排列状态
- c++ - 在 C++ 中使用非常量引用作为 const
- php - 在 PHP curl 中访问 Bigcommerce 客户/current.jwt 时无效
- swift - 有没有办法在 Swift 中使用完整的 URL 请求从 iOS 应用程序内部打开 Safari 浏览器?
- kubernetes - 如何在负载均衡期间检查哪个 Kubernetes pod 正在响应?
- mysql - Node - 在内存之外存储数组的最快方法