在“ from_delayed” JSON文件中发现DASK元数据不匹配

时间:2019-03-04 22:47:17

标签: python dataset bigdata dask

我刚开始以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   |
+----------+-------+----------+

我尝试了不同的方法,但是没有任何帮助。我不知道该如何处理该错误。

请帮助,我将非常感谢!

1 个答案:

答案 0 :(得分:0)

我的猜测是,您的JSON数据在数据的不同部分具有不同的列。当Dask DataFrame加载JSON数据时,它会查看数据的第一块以确定列名和数据类型。然后假设所有数据看起来像这样。

这种假设在您的情况下是错误的,并且可能只有某些列仅出现在文件的后面。

在确定诸如列名之类的元数据时,您可能会考虑增加Dask读取的样本的大小。

df = dd.read_json(..., sample=2**26)

默认值为1MB(2 ** 20)