使用Spark connector MongoDB获取集合名称
是否有任何方法可以通过spark connector以本机方式获取数据库集合名称 现在我正在使用pymongo来做这件事,但我想知道是否有可能用spark连接器来做这件事 我的实际方法,仅供参考:使用Spark connector MongoDB获取集合名称,mongodb,apache-spark,pyspark,Mongodb,Apache Spark,Pyspark,是否有任何方法可以通过spark connector以本机方式获取数据库集合名称 现在我正在使用pymongo来做这件事,但我想知道是否有可能用spark连接器来做这件事 我的实际方法,仅供参考: from pymongo import MongoClient db = MongoClient().database db_names = db.collection_names(False) for name in db_names: spark = SparkSession\ .
from pymongo import MongoClient
db = MongoClient().database
db_names = db.collection_names(False)
for name in db_names:
spark = SparkSession\
.builder\
.config("spark.mongodb.input.uri", "mongodb://localhost:27017/database." + name) \
.config("spark.mongodb.output.uri", "mongodb://localhost:27017/database." + name) \
.getOrCreate()
...
对于python,Mongo Spark连接器只使用Spark API,因此没有列出集合的本机方法
另外,请注意
SparkSession
是一个单例,因此在更改集合时,应使用选项()
方法在DataFrameReader
上进行配置。对于python,Mongo Spark连接器仅使用Spark API,因此没有列出集合的本机方法。另外,请注意SparkSession是一个单例,因此在更改集合时,应使用option()
方法在DataFrameReader
上进行配置。感谢@Ross的解释,我将继续使用pymongo,但我将改变指向不同集合的方式。将此评论作为答案,以便我可以将其标记为正确答案