Dask VALUERROR:架构不同

Dask VALUERROR:架构不同,dask,parquet,pyarrow,Dask,Parquet,Pyarrow,我的问题与此非常接近: 我使用“pyarrow”引擎将csv文件转换为拼花地板。 读取文件时出现架构错误。与前面的问题不同,似乎某个拼花地板文件添加了原始文件中没有的新列 ddf=dd.read\u拼花地板(“snappywork”, columns=colnames ) 回溯(最近一次呼叫最后一次): 文件“”,第2行,在 文件“C:\Users\gunsu.son\AppData\Local\Programs\Python37\lib\site packages\dask\dataframe

我的问题与此非常接近:

我使用“pyarrow”引擎将csv文件转换为拼花地板。 读取文件时出现架构错误。与前面的问题不同,似乎某个拼花地板文件添加了原始文件中没有的新列

ddf=dd.read\u拼花地板(“snappywork”,
columns=colnames
)
回溯(最近一次呼叫最后一次):
文件“”,第2行,在
文件“C:\Users\gunsu.son\AppData\Local\Programs\Python37\lib\site packages\dask\dataframe\io\parquet.py”,第1397行,以read\u parquet格式
推断分割=推断分割,
文件“C:\Users\gunsu.son\AppData\Local\Programs\Python37\lib\site packages\dask\dataframe\io\parquet.py”,第828行,如箭头所示
路径,filesystem=get\u pyarrow\u文件系统(fs),filters=filters
文件“C:\Users\gunsu.son\AppData\Local\Programs\Python37\lib\site packages\pyarrow\parquet.py”,第1008行,在\uuu init中__
self.validate_schemas()
文件“C:\Users\gunsu.son\AppData\Local\Programs\Python37\lib\site packages\pyarrow\parquet.py”,第1061行,在validate\u模式中
数据集(U模式)
ValueError:snappywork\part.129.parquet中的架构不同。
id:字符串
链接id:string
父id:string
正文:字符串
作者:string
乐谱:弦
subreddit:字符串
胶粘的:布尔
创建时间:字符串
__索引\级别\ 0 \字符串
元数据
--------
{b'pandas':b'{“索引列”:[“{U索引级别0}],“列索引”:[{“na”
b'me':null,“字段名称”:null,“熊猫类型”:“unicode”,“numpy”
b'type:“对象”,“元数据”:{“编码”:“UTF-8”}}],“列”:
b'[{“name”:“id”,“field_name”:“id”,“pandas_type”:“unicode”,“'
b'numpy_类型“:“对象”,“元数据”:null},{“名称”:“链接id”,“f”
b'ield_name:“链接id”,“熊猫类型”:“unicode”,“numpy_类型”:”
b'object',metadata:null},{“name”:“parent_id”,“field_name”:
b'“父对象id”、“熊猫类型”:“unicode”、“numpy类型”:“对象”、“熊猫类型”
b'metadata:null},{“name”:“body”,“field_name”:“body”,“pandas”
b“u类型”:“unicode”,“numpy”类型::“对象”,“元数据”:null},{”
b'name:“author”,“field\u name:“author”,“pandas\u type:“unicode”
b',“numpy_类型”:“对象”,“元数据”:null},{“名称”:“分数”,'
“字段名称”:“分数”、“熊猫类型”:“unicode”、“numpy类型”:”
b'object”,“metadata:null},{“name”:“subreddit”,“field_name”:
b'“subreddit”、“pandas_type”:“unicode”、“numpy_type”:“object”、“'
b'metadata:null},{“name”:“sticked”,“field_name”:“sticked”,'
b'“pandas_type”:“bool”,“numpy_type”:“bool”,“metadata”:null},'
b'{“名称”:“创建时间”,“字段名称”:“创建时间”,“熊猫”
b'type:“unicode”,“numpy_type:“对象”,“元数据”:null},{“n”
b'ame”:null,“字段名称”:“\uuuuu索引\u级别\uuu 0\uuuuuu”,“熊猫\u类型”:“u”
b'nicode”,“numpy_类型”:“对象”,“元数据”:null}],“创建者”:
b'{“library”:“pyarrow”,“version”:“0.14.0”},“pandas_version”:“'
b'0.25.0“}'}
vs
id:字符串
链接id:string
父id:string
正文:字符串
作者:string
乐谱:弦
subreddit:字符串
胶粘的:布尔
创建时间:字符串
元数据
--------
{b'pandas':b'{“index_列”:[{“kind”:“range”,“name”:null,“start”:0,”
b'stop:248538,“step:1}],“column_索引”:[{“name”:null,“f'
b'ield_name:null,“pandas_type”:“unicode”,“numpy_type”:“objec”
b't“,“元数据”:{“编码”:“UTF-8”}],“列”:[{“名称”:“i”
b'd“,”字段名称“:”id“,”熊猫类型“:”unicode“,”numpy类型“:”
b''object',metadata:null},{“name”:“link\u id”,“field\u name”:“'
b'link\u id”,“pandas\u type”:“unicode”,“numpy\u type”:“object”,“met”
b'adata“:null},{“name”:“parent_id”,“field_name”:“parent_id”,'
b'“熊猫类型”:“unicode”、“numpy类型”:“对象”、“元数据”:nu'
b'll},{“name”:“body”,“field_name”:“body”,“pandas_type”:“unic”
b'ode”,“numpy_type”:“对象”,“元数据”:null},{“名称”:“autho”
b'r”,“字段名”:“作者”,“熊猫类型”:“unicode”,“numpy类型”
b'e:“对象”,“元数据”:null},{“名称”:“分数”,“字段名称”:”
b's“score”、“pandas_type”:“unicode”、“numpy_type”:“object”、“met”
b'adata:null},{“name”:“subreddit”,“field_name”:“subreddit”,'
b'“熊猫类型”:“unicode”、“numpy类型”:“对象”、“元数据”:nu'
b'll},{“name”:“sticked”,“field\u name”:“sticked”,“pandas\u type”
b'“:“bool”,“numpy_类型”:“bool”,“metadata”:null},{“name”:“cr”
“创建时间”、“字段名称”:“创建时间”、“熊猫类型”:“unico”
b'de”,“numpy_类型”:“对象”,“元数据”:null}],“创建者”:{“li”
b'brary:“pyarrow”,“version:“0.14.0”},“pandas_version:“0.25”
b'.0“}'}
对于parquet 129文件,它似乎生成了一个新列“索引\u级别\u 0”。 显式提供数据类型无法解决此问题。如何解决这个问题?

Per的评论,将引擎设置为
fastparquet
帮助我在服务器上移动拼花文件时克服了这个问题

注意:您可能需要安装
fastparquet
pythonSappy
才能使其正常工作

pip安装fastparquet python snapy
然后在Python中:

导入dask.dataframe作为dd
df=dd.read_拼花地板('*.parquet',engine='fastparquet')
#继续使用dask/pandas
Per的评论,将引擎设置为
fastparquet
帮助我在服务器上移动拼花文件时克服了这个问题

注意:您可能需要安装
fastparquet
pythonSappy
才能使其正常工作

pip安装fastparquet python snapy