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'文件系统对象一起使用
,对于后者,我认为您需要等待即将发布的版本。