Pyspark小数位数(2)不能大于精度(1)

时间:2018-07-06 07:14:09

标签: python mongodb apache-spark pyspark

在我的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()

和版本:

  • 火花2.2.0
  • org.mongodb.spark:mongo-spark-connector_2.11:2.2.0

在db中可能是带有十进制字段数量的文档,例如0.10代替0.1

任何解决方案吗?

0 个答案:

没有答案