MongoDB
 sql >> Cơ Sở Dữ Liệu >  >> NoSQL >> MongoDB

Đọc bộ sưu tập MongoDB khổng lồ từ Spark với sự trợ giúp của Worker

Có hai cách để lấy dữ liệu từ MongoDB sang Apache Spark.

Phương pháp 1:Sử dụng Casbah (Lớp trên trình điều khiển Java MongDB)

val uriRemote = MongoClientURI("mongodb://RemoteURL:27017/")
val mongoClientRemote =  MongoClient(uriRemote)
val dbRemote = mongoClientRemote("dbName")
val collectionRemote = dbRemote("collectionName")
val ipMongo = collectionRemote.find
val ipRDD = sc.makeRDD(ipMongo.toList)
ipRDD.saveAsTextFile("hdfs://path/to/hdfs")

Ở đây, chúng tôi đang sử dụng Scala và Casbah để lấy dữ liệu trước rồi lưu vào HDFS.

Phương pháp 2:Spark Worker được chúng tôi sử dụng

Phiên bản mã tốt hơn:Sử dụng Spark worker và sử dụng nhiều lõi để lấy dữ liệu trong thời gian ngắn.

val config = new Configuration()
config.set("mongo.job.input.format","com.mongodb.hadoop.MongoInputFormat")
config.set("mongo.input.uri", "mongodb://RemoteURL:27017/dbName.collectionName")
val keyClassName = classOf[Object]
val valueClassName = classOf[BSONObject]
val inputFormatClassName = classOf[com.mongodb.hadoop.MongoInputFormat]
val ipRDD = sc.newAPIHadoopRDD(config,inputFormatClassName,keyClassName,valueClassName)
ipRDD.saveAsTextFile("hdfs://path/to/hdfs") 



  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Mongodb cập nhật phần tử cụ thể từ mảng con

  2. Mongoid không có trong truy vấn

  3. MongoDB $ cos

  4. NestJS:Cách triển khai xác thực người dùng dựa trên phiên

  5. Trường hợp cạnh Cập nhật toàn vẹn MongoDB