【发布时间】:2018-04-03 19:30:00
【问题描述】:
我正在尝试将一个巨大的复杂文档从 MongoDB 读入 spark 数据框。当我将此数据库转换为 json 时,它可以工作。但是,如果我直接从 MongoDB 读取,则会收到以下错误:Caused by: com.mongodb.spark.exceptions.MongoTypeConversionException: Cannot cast STRING into a DoubleType (value: BsonString{value='NaN'})强>
能够读入 DF 并进行所有处理。当我尝试显示它或写入 json/csv 时出现错误。
在 mongo$.main(mongo.scala:270) – df.show()
对依赖项使用 sbt mongo火花连接器:2.2.1 Scala 版本:2.11.6 Spark 版本:2.3.0/2.2.0
【问题讨论】:
-
似乎您正在尝试将字符串转换为双精度。您是否在 Spark 中定义了一个字段类型为 Double 但 MongoDB 中的值为 String 的模式?
-
感谢万巴赫蒂亚尔的回复。我没有定义任何模式,我想使用 inferschema 选项,因此它可以用于任何数据集。我交叉检查过,它在 MongoDB 中也是双倍的。
标签: mongodb scala apache-spark