spongジョブでMongoDBからデータを取得する必要があります。私はからmongo-spark-connector_2.11のspark mongoコネクタを使いました。 コードの下に書かれ、同じクエリがMongoのコンソールに秒、次に以下を要したのに対しspark mongo接続に時間がかかる
def createReadConfig(topic: String): ReadConfig = {
val user =UserId
val pass = Password
val host = Host
val db = Database
val coll = Collection
val partitioner = MongoPaginateBySizePartitioner
ReadConfig(Map("uri" -> ("mongodb://" + user + ":" + pass + "@" + host + "/" +
db), "database" -> db, "collection" -> coll, "partitioner" -> partitioner))
}
val collectionRDD= MongoSpark.load(sc,admissionConfig)
collectionRDD.filter(doc=>doc.getObjectId("_id")==new ObjectId("objectId")).count
をテストするためにスパークシェルで実行これは、結果を与えるより、次に20秒を要しました。
なぜこのようなことが起こり、どのように速度の差異を減らすことができますか?