我读了我的镶木地板数据如下:
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会创建多少个分区?
答案 0 :(得分:0)
首先,我怀疑dd.read_parquet
函数适用于分区或多文件镶木地板数据集。
其次,如果您使用dd.from_delayed
,则每个延迟调用都会产生一个分区。因此,在这种情况下,您拥有与dfs
迭代器的元素一样多的分区。如果您想更改此设置,可以在之后调用repartition
方法。