Python Dask read_拼花地板额外增加了一列dir0

Python Dask read_拼花地板额外增加了一列dir0,python,dask,parquet,Python,Dask,Parquet,我在不同的目录中有多个拼花文件 paths = ['adl://entrofi/shift/20190725_060500_20190928_060500/*.parquet', 'adl://entrofi/shift/20190726_060500_20190928_060500/*.parquet', 'adl://entrofi/shift/20190727_060500_20190928_060500/*.parquet', 'adl://entrofi/shift/20190728_

我在不同的目录中有多个拼花文件

paths = ['adl://entrofi/shift/20190725_060500_20190928_060500/*.parquet',
'adl://entrofi/shift/20190726_060500_20190928_060500/*.parquet',
'adl://entrofi/shift/20190727_060500_20190928_060500/*.parquet',
'adl://entrofi/shift/20190728_060500_20190928_060500/*.parquet',
'adl://entrofi/shift/20190820_060500_20190920_060500/*.parquet',
'adl://entrofi/shift/20190828_060500_20190928_060500/*.parquet']
每个文件都包含列
A、B、C

我想看所有这些文件,所以我做了一个

ddf=dd.read\u拼花地板(路径)。放下重复件()

但是,
ddf
包含列
A、B、C和dir0
dir0
包含文件夹的名称 从中读取
路径
中的每个路径

读取
路径中的每个文件不包含
dir0


如何避免将
dir0
自动添加到我的
ddf

这是fastparquet后端的预期行为,因为看起来您的文件是按文件夹名称分区的,在这种情况下使用“钻取”方案(与
field=value
目录名相反)

为了避免这种情况,您可以使用pyarrow引擎,或者只需指定要保留的列:

ddf = dd.read_parquet(paths, columns=['A', 'B', 'C'])
ddf = dd.read_parquet(paths, engine='pyarrow')

我可以指定列,但是由于我有很多列,这使得代码很笨拙。当我指定
pyarrow
时,会弹出另一个错误
NotImplementedError:将pyarrow与'DaskAdlFileSystem'文件系统对象一起使用
,对于后者,我认为您需要等待即将发布的版本。