使用Spark连接器MongoDB获取集合名称

时间:2017-07-19 15:41:41

标签: mongodb apache-spark pyspark

有没有办法使用spark-connector本地获取数据库集合名称。

现在我正在使用pymongo来做这件事,但我想知道是否可以用火花连接器做到这一点。

我的实际方法,仅供参考:

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()
...

1 个答案:

答案 0 :(得分:1)

使用python,Mongo Spark Connector仅使用Spark API,因此没有本地方式来列出集合。

此外,请注意SparkSession是单身人士,因此在更改集合时,应使用DataFrameReader方法在option()上完成配置。