MongoDB(四)之Spark读写mongodb数据
说明:users表数据同MongoDB(二)中users表
1 进入spark交互界面并加载jar包(需联网)
spark-shell --packages org.mongodb.spark:mongo-spark-connector_2.11:2.2.6
2 spark从mongoDB中读数据
//这个stop特别关键,每次功能完后记得stop掉!!!
scala> spark.stop
scala> import org.apache.spark.sql._
//创建SparkSession
scala> val spark = SparkSession.builder.config("spark.mongodb.input.uri","mongodb://192.168.30.1:27017/events_db.users").config("spark.mongodb.output.uri","mongodb://192.168.30.1:27017/events_db.spark_users").getOrCreate()
scala> import com.mongodb.spark.MongoSpark
//加载数据
scala> val df = MongoSpark.load(spark)
//查看读过来的users表信息
scala> df.printSchema()
scala>df.show
注:192.168.30.1:27017为本人mongoDB所在虚拟机的ip及端口号,改成你自己的哦
3 spark向mongoDB中写数据
scala> MongoSpark.save(df.write.mode("overwrite"))
执行成功后,去mongoDB中查看events_db库中写入的spark_users表