为什么由于函数 read_metadata 与旧版本不兼容,提交 7138f470f0e55f2ebdb7638ddc4dfe2e78671403没有触发新的主要版本 dask?提交引入了 4 个值的返回,但旧版本只返回 3 个。根据语义版本控制,这将是正确的行为。
由于那次提交,cudf坏了。
问题中的代码:
>>> import cudf
>>> import dask_cudf
>>> dask_cudf.from_cudf(cudf.DataFrame({'a':[1,2,3]}),npartitions=1).to_parquet('test_parquet')
>>> dask_cudf.read_parquet('test_parquet')
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "/nvme/0/vjawa/conda/envs/cudf_15_june_25/lib/python3.7/site-packages/dask_cudf/io/parquet.py", line 213, in read_parquet
**kwargs,
File "/nvme/0/vjawa/conda/envs/cudf_15_june_25/lib/python3.7/site-packages/dask/dataframe/io/parquet/core.py", line 234, in read_parquet
**kwargs
File "/nvme/0/vjawa/conda/envs/cudf_15_june_25/lib/python3.7/site-packages/dask_cudf/io/parquet.py", line 17, in read_metadata
meta, stats, parts, index = ArrowEngine.read_metadata(*args, **kwargs)
ValueError: not enough values to unpack (expected 4, got 3)
dask_cudf==0.14 仅与 dask<=0.19 兼容。在 dask_cudf==0.16 中,该问题已修复。
编辑:链接到问题