首页 > 解决方案 > 每天添加到镶木地板数据集

问题描述

我每天都会收到许多传入的数据馈送。每个文件在 10-150MB 之间。对于我得到的每个文件,我将其附加到该文件的相关镶木地板数据集。在实践中,这意味着将 days 新文件读入 pandas 数据帧,将现有 parquet 数据集读入数据帧,将新数据附加到现有数据,然后重写 parquet。从我所见,没有办法附加到镶木地板数据集,否则我会这样做。鉴于每日文件大小相对较小,我认为简单地将它们作为自己的分区写入数据集是一种浪费——我每天将添加 2-20MB 的 parquet 文件,我的理解是这对于 parquet 文件来说太小了并且有这么多分区会导致大量偷听。

我已经使用我现有的设置运行了一段时间,并且将现有的 parquet 文件读入内存实际上变得非常昂贵,最终我得到了多 GB 的数据帧。

我从这里开始的计划是在现有的未分区数据集(例如年或年/季度)上定义一个新分区,然后在运行该过程时只在相关分区中读取新数据,将新数据附加到它,然后重写只有那个分区。

我相当肯定这将起作用并解决我的问题,但确实需要做一些工作来确保它正常工作并扩展到我的所有用途/数据集。在继续之前,我想看看是否有其他更清洁/更简单的方法可以使用 pandas/pyarrow/dask 逐步添加到镶木地板数据集。

标签: pandasparquetpyarrow

解决方案


推荐阅读