dask - 有没有办法增量更新 Dask 元数据文件?
问题描述
我正在尝试处理数据集并在 Dask 中将其写入时进行增量更新。Dask 元数据文件在重新读取处理后的数据时会有很大帮助。但是,当我将新的分区/子集写入相同的路径时,那里的元数据会被新的分区/子集覆盖,而不是在包含它们的情况下进行更新。
import dask.dataframe as dd
df = dd.read_parquet(read_path)
# some transformations
df = …
df.to_parquet(write_path, partition_on=[col1, col2, …], write_metadata_file=True)
看了几个地方,还没有找到明显的方法来做到这一点。有谁知道是否有人做过处理这种用例的事情?可以增量更新元数据文件,也可以对其中的一些文件进行编辑/组合。任何建议将不胜感激。
解决方案
Dask 的to_parquet()
方法有一种append
模式,我认为这正是你想要的:
append : bool, optional
If False (default), construct data-set from scratch.
If True, add new row-group(s) to an existing data-set.
In the latter case, the data-set must exist, and the schema must match the input data.
我已经成功地使用了这个pyarrow
引擎,版本1.0.1
推荐阅读
- python - 在python中计算均值、中位数和众数
- r - Combine rows based on ranges in a column
- c++ - Transform hand written loop to std library call
- reactjs - 使用 React JS 级联选择框
- mysql - 删除重复数据mysql
- python-3.x - Flask-socketio 一次发送一个有效载荷
- reactjs - 在 Link 组件中为 span 添加颜色不会改变 span 的颜色?
- java - Spring数据保存更新ID为null
- python - Why is 'root' keyword treated differently when it is called in Kivy?
- r - Drawing extra markers on a leaflet map with addDrawToolbar in R