在我的pyspark脚本中,从mongodb加载数据时出现错误:
org.apache.spark.sql.AnalysisException:小数位数(2)不能大于精度(1)。 在org.apache.spark.sql.types.DecimalType。(DecimalType.scala:47) 在org.apache.spark.sql.types.DecimalType $ .apply(DecimalType.scala:44) 在org.apache.spark.sql.types.DataTypes.createDecimalType(DataTypes.java:123) 在com.mongodb.spark.sql.MongoInferSchema $ .com $ mongodb $ spark $ sql $ MongoInferSchema $$ getDataType(MongoInferSchema.scala:248) 位于com.mongodb.spark.sql.MongoInferSchema $$ anonfun $ com $ mongodb $ spark $ sql $ MongoInferSchema $$ getSchemaFromDocument $ 1.apply(MongoInferSchema.scala:114) 位于com.mongodb.spark.sql.MongoInferSchema $$ anonfun $ com $ mongodb $ spark $ sql $ MongoInferSchema $$ getSchemaFromDocument $ 1.apply(MongoInferSchema.scala:114) 在scala.collection.Iterator $ class.foreach(Iterator.scala:893) 在scala.collection.AbstractIterator.foreach(Iterator.scala:1336) 在scala.collection.IterableLike $ class.foreach(IterableLike.scala:72) 在scala.collection.AbstractIterable.foreach(Iterable.scala:54) 在com.mongodb.spark.sql.MongoInferSchema $ .com $ mongodb $ spark $ sql $ MongoInferSchema $$ getSchemaFromDocument(MongoInferSchema.scala:114)
我使用连接器连接到mongo如下:
spark.read.format("com.mongodb.spark.sql.DefaultSource")
.option("uri", "")
.option("database", "")
.option("collection", "")
.load()
和版本:
在db中可能是带有十进制字段数量的文档,例如0.10代替0.1
任何解决方案吗?