MongoDB
 sql >> Teknologi Basis Data >  >> NoSQL >> MongoDB

Membaca koleksi MongoDB besar dari Spark dengan bantuan Worker

Ada dua cara untuk mendapatkan data dari MongoDB ke Apache Spark.

Metode 1:Menggunakan Casbah (Lapisan pada Driver 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")

Disini kita menggunakan Scala dan Casbah untuk mendapatkan data terlebih dahulu kemudian menyimpannya ke HDFS.

Metode 2:Spark Worker yang kami gunakan

Versi kode yang lebih baik:Menggunakan pekerja Spark dan beberapa inti untuk digunakan untuk mendapatkan data dalam waktu singkat.

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. Masalah dengan MongoDB GridFS Menyimpan File dengan Node.JS

  2. Mengapa saya mendapatkan pymongo.cursor.Cursor ketika mencoba menanyakan db mongodb saya melalui pymongo?

  3. Melewati parameter model ke model luwak

  4. Ubah semua dokumen saya nilai dokumen bersarang

  5. Gabungkan kueri dengan kondisi di mana