Python 使用PySpark从MongoDB获取文档的正确方法

Python 使用PySpark从MongoDB获取文档的正确方法,python,mongodb,apache-spark,pyspark,Python,Mongodb,Apache Spark,Pyspark,我正在使用PySpark,我想从MongoDB获取文档。我的问题是,我不知道哪种方法是最好的(或者即使我所做的是有效的),以便以Pyspark的写并行格式获取文档。做这样一件事的最佳方式是什么?在网上找不到太多 def get_data(self, uri, pipeline, schema): df = self.sql_context.read.format("com.mongodb.spark.sql.DefaultSource")\ .

我正在使用PySpark,我想从MongoDB获取文档。我的问题是,我不知道哪种方法是最好的(或者即使我所做的是有效的),以便以Pyspark的写并行格式获取文档。做这样一件事的最佳方式是什么?在网上找不到太多

def get_data(self, uri, pipeline, schema):
    df = self.sql_context.read.format("com.mongodb.spark.sql.DefaultSource")\
            .option("uri", uri) \
            .schema(schema)\
            .option("pipeline", pipeline).load()
    return df

**get_data() is in the scope of spark_handler**

def get_documents(spark_handler, uri, limit):
        skip = 0
        more_data = True
        docs = None
        while more_data:
            pipeline = [.../a pipeline query/...]
            skip = skip + orders_limit
            temp = spark_handler.get_data(uri, pipeline, self.schema)
            if len(temp.head(1)) > 0:
                docs = docs.unionAll(temp)
            else:
                more_data = False
        return docs



docs = get_documents(spark_handler, uri_mongo, limit).persist(StorageLevel.MEMORY_AND_DISK)
docs.count()