我刚开始以DASK
冒险,然后在json格式的示例数据集上学习。我知道对于初学者来说,这不是世界上最简单的数据格式:)
我有一个json
格式的数据集。我通过dd.read_json
将数据加载到数据框,一切正常。例如,compute()
或len()
函数就出现了问题。
我收到此错误:
ValueError: Metadata mismatch found in `from_delayed`.
Partition type: `DataFrame`
+----------+-------+----------+
| Column | Found | Expected |
+----------+-------+----------+
| column1 | - | object |
| column2 | - | object |
+----------+-------+----------+
我尝试了不同的方法,但是没有任何帮助。我不知道该如何处理该错误。
请帮助,我将非常感谢!
答案 0 :(得分:0)
我的猜测是,您的JSON数据在数据的不同部分具有不同的列。当Dask DataFrame加载JSON数据时,它会查看数据的第一块以确定列名和数据类型。然后假设所有数据看起来像这样。
这种假设在您的情况下是错误的,并且可能只有某些列仅出现在文件的后面。
在确定诸如列名之类的元数据时,您可能会考虑增加Dask读取的样本的大小。
df = dd.read_json(..., sample=2**26)
默认值为1MB(2 ** 20)