想知道對於大型數據集來說,兩者中的哪一個會更有效率。火花地圖RDD vs連接
可以說,我已經加載從蒙戈訂單,Orders
架構是
case class Orders(organization: String, orderId: Long, recipient: String)
val orders = MongoSpark.load[Orders](spark)
現在我看到有要去關於下一步兩種方式,我想查找每個公司這是歸因於一個命令。
選項1是MapRDD
val companies = MongoSpark.load[Company](spark, ReadConfig(...)).map { c => (c.id, c)}
val companiesMap = IndexedRDD(companies.rdd)
或第二選擇是將運行一個加入
val joined = orders.join(MongoSpark.load[Company(spark), $orderId === $companyId"
該數據集在生產服務器上從500 GB範圍 - 785 GB。
你有多少公司記錄? – climbage
@climbage約400,000左右。我不知道我的頭腦會有多少內存,但訂單集合有大約260-300萬條記錄。 – TheM00s3