Python Pypark Mongo缺少一些字段

Python Pypark Mongo缺少一些字段,python,mongodb,pyspark,Python,Mongodb,Pyspark,因此,我尝试使用mongo spark connector将收集表单MongoDB读入spark,但是文档中的一些字段丢失了,以前有人遇到过这个问题吗?如果是,解决方案是什么 我正在使用以下命令读取MongoDB集合: orders = spark.read.format("com.mongodb.spark.sql.DefaultSource") \ .option("uri" , "mongodb://127.0.0.1/company.orders") \

因此,我尝试使用mongo spark connector将收集表单MongoDB读入spark,但是文档中的一些字段丢失了,以前有人遇到过这个问题吗?如果是,解决方案是什么

我正在使用以下命令读取MongoDB集合:

orders = spark.read.format("com.mongodb.spark.sql.DefaultSource") \
        .option("uri" , "mongodb://127.0.0.1/company.orders") \
        .load()
orders.select('missing_field').limit(10).collect()
示例文件: a) 示例文件-

{
    "_id" : "0000-10001",
    "_updated" : ISODate("2016-02-03T22:47:47.000Z"),
    "total" : 64.96,
    "subtotal" : 64.96,
    "user_email" : “abc@gmail.com"
}
我可以阅读除用户电子邮件以外的所有字段

但是,文档中的某些字段丢失

默认情况下,从基础集合的一组文档推断关系模式。听起来,在MongoDB中,“缺少”字段
user\u email
通常为空,这导致Spark connector无法为其创建数据类型映射

但是,您可以手动声明模式,而不是使用基于自动采样的模式映射。对于,您可以通过以下示例声明架构:

schema = StructType([StructField("user_email", StringType(), True), 
                     StructField("total", StringType(), True])
dataframe = rdd.toDF(schema)
dataframe = sqlContext.createDataFrame(rdd, schema)

我更新了spark mongo连接器,解决了问题。

所以,您是说集合中的某些文档缺少字段。你想解决的实际问题是什么?确定缺少哪些字段?您可以通过a)包括一个示例文档和b)说明您试图实现的预期目标来进一步阐述。@WanBachtiar我刚刚编辑了我的问题以回答a)和b)