0

我读了我的镶木地板数据如下:

file_names = glob.glob('./events/*/*/*/*/*/part*.parquet')
pf = fp.ParquetFile(file_names, root='./events')
pf.cats = {'customer': pf.cats['customer']}
dfs = (delayed(pf.read_row_group_file)(rg, pf.columns, pf.cats) for rg in pf.row_groups)
df = dd.from_delayed(dfs)

我不能使用dd.read_parquet,因为我的镶木地板是分区的,我想避免加载一些分类。

我在这里有两个问题:

  • 我如何告诉 Dask 我希望我的数据框拥有多少个分区?

  • Dask 默认会创建多少个分区?

4

1 回答 1

1

首先,我怀疑该dd.read_parquet函数适用于分区或多文件镶木地板数据集。

其次,如果您使用的是dd.from_delayed,则每次延迟调用都会导致一个分区。因此,在这种情况下,您拥有与dfs迭代器元素一样多的分区。如果您想更改此设置,您可以在repartition之后调用该方法。

于 2018-03-25T13:18:58.857 回答