我正在解析一个也包含 UUID 类型的文件。 我无法解析该文件并收到此错误。
来自/127.0.0.1:54321 的 DistributedException:“NewChunk 的类型为 Numeric,但 Vec 的类型为 UUID”,由 java.lang.AssertionError 引起:NewChunk 的类型为 Numeric,但 Vec 的类型为 UUID
有人知道这是什么意思吗?
最佳答案
我将您的 160MB 文件下载到本地进行实验,发现您的数据格式错误。
您看到上述错误只是因为数据集中的最后一列是 UUID,因此 H2O 确保将列类型设置为 UUID,但是最后一列之后的 206000 行显示数值,这会导致 H2O 在将数值设置为 UUID 时出现 panic 。
我能够在 H2O 中加载最多 206000 行,没有任何问题,但是 207000 行给了我错误,因此您可以试验哪些行格式错误。您可以运行以下命令来获取从 206000 到 207000 的所有行,并且在加载这 1000 行时您会看到同样的问题。
$ sed -n '206000,207000p' < consumer_complaints.csv > consumer_complaints_bad.csv
如果您无法在行级别修复格式错误的数据,则可以将所有列保存为字符串。这样,H2O 会将所有数据作为字符串摄取,然后您可以分析数据,正确清理数据,然后更改为正确的类型,如 enum、int 或 UUID。这不是一个好的选择,因为您的数据格式已经错误,但这样您可以将所有数据加载到 H2O 中。
关于machine-learning - 解析文件时出现 H2o 错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46799076/