有没有办法增量更新 Dask 元数据文件?
Is there a way to incrementally update Dask metadata file?
我正在尝试处理数据集并在将其写入 Dask 时进行增量更新。 Dask 元数据文件在重新读取处理后的数据时会有很大帮助。但是,当我将新的 partitions/subsets 写入同一路径时,那里的元数据会被新的 partitions/subsets 覆盖,而不是随它们一起更新。
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)
看了几个地方,还没有找到一个明显的方法来做到这一点。有谁知道是否有人做过处理这种用例的事情?可以增量更新元数据文件或编辑其中的一些 to/combine。任何建议将不胜感激。
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
此问题特定于 fastparquet
引擎(在 pyarrow
中工作正常)。
我正在尝试处理数据集并在将其写入 Dask 时进行增量更新。 Dask 元数据文件在重新读取处理后的数据时会有很大帮助。但是,当我将新的 partitions/subsets 写入同一路径时,那里的元数据会被新的 partitions/subsets 覆盖,而不是随它们一起更新。
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)
看了几个地方,还没有找到一个明显的方法来做到这一点。有谁知道是否有人做过处理这种用例的事情?可以增量更新元数据文件或编辑其中的一些 to/combine。任何建议将不胜感激。
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
此问题特定于 fastparquet
引擎(在 pyarrow
中工作正常)。