com.mongodb.spark.exceptions.MongoTypeConversionException: Cannot cast ARRAY into a StructType(StructField(userid,StringType,true),StructField(username,StringType,true),StructField(zohocrm_id,StringType,true)) (value: BsonArray{values=[]})
我在使用spark从mongodb加载数据时遇到了这个错误。但是当我在.option管道中使用$match时,它工作了。如何修复这个错误,谢谢!
spark = SparkSession \
.builder \
.appName("mongo4XC") \
.config("spark.mongodb.input.uri",dbURLinfo) \
.config("spark.mongodb.output.uri",dbURLinfo) \
.config("spark.executor.heartbeatInterval", "180s") \
.config("spark.network.timeout", "300s") \
.config('spark.jars.packages', 'org.mongodb.spark:mongo-spark-connector_2.12:3.0.2') \
.config("spark.sql.debug.maxToStringFields", 1000) \
.config("spark.mongodb.input.sampleSize", 500000) \
.getOrCreate()
df = spark.read.format("com.mongodb.spark.sql.DefaultSource") \
.option("database", db_database) \
.option("collection", collection) \
.option("pipeline", pipeline) \
.load()
我想加载完整的数据库在mongo不使用$match
1条答案
按热度按时间xytpbqjk1#
在mongo中的字段“User”中的错误在一些文档中是Object类型的,其余的是由于缺乏数据,所以它们将自己转换为Array类型