pyspark 针对mongodb的读写

1.创建pyspark与mongodb的连接,首先加载依赖包,其有三种方式:

1)直接将其放在在安装spark的jars目录下;

2)在spark_submit中,添加依赖包信息;

3)在创建spark的对象的时候添加依赖信息,具体案例如下图所示

spark = SparkSession 
.builder
.appName('mongo connection')
.config("spark.mongodb.input.uri", "mongodb://节点:端口号/dev.myCollection?readPreference=primaryPreferred")
.config("spark.mongodb.output.uri", "mongodb://节点:端口号/dev.myCollection")
.config('spark.jars.packages', "org.mongodb.spark:mongo-spark-connector_2.11:2.4.2")
.getOrCreate()

备注:

config的信息,都可以在spark_submit中添加。

2.读取mongodb

df1 = (
spark.read
.format("mongo")
.option("database", 'dev')
.option("collection", 'test_mongo_connect')
.load()
)

3.写入mongodb

df = spark.createDataFrame([(1,), (2,)], ['a'])
(
df.write
.format("mongo")
.mode("overwrite")
.option("database", 'dev')
.option("collection", 'test_mongo_connect')
.save()
)

原文地址:https://www.cnblogs.com/tomorrow-hope/p/13886044.html