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

MongoDBObject tidak ditambahkan ke dalam rrd foreach loop casbah scala Apache spark

Perhitungan pada RDD didistribusikan ke cluster. Anda tidak dapat memperbarui variabel yang dibuat di luar penutupan operasi RDD dari dalam RDD. Mereka pada dasarnya berada di dua tempat yang berbeda:Variabel dibuat di driver Spark dan diakses di pekerja dan harus diperlakukan sebagai hanya-baca.

Spark mendukung cummulator terdistribusi yang dapat digunakan dalam kasus ini:Spark Cummulator

Opsi lain (yang saya lebih suka) adalah mengubah aliran RDD ke dalam format data yang diinginkan dan menggunakan foreachRDD metode untuk menyimpannya ke dalam penyimpanan sekunder. Ini akan menjadi cara yang lebih fungsional untuk mendekati masalah. Kira-kira akan terlihat seperti ini:

  val filteredStream = twitterStream.filter(entry => filters.exists(term => entry.getText.getStatus.contains(term)))
  val filteredStreamWithTs = filteredStream.map(x => ((DateTime.now.toString(), x)))
  filteredStreamWithTs.foreachRdd(rdd => // write to Mongo)



  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. hitung jumlah total elemen di dalam array dalam dokumen - MongoDB

  2. Cara Mengelola Template Konfigurasi untuk Database Anda Dengan ClusterControl

  3. Perbarui bidang dengan nilai bidang lain dalam dokumen

  4. meneruskan luwak sebagai argumen ke suatu fungsi

  5. memasukkan item dalam daftar di dokumen mongodb