gpt4 book ai didi

mongodb - Spark rdd.count() 产生不一致的结果

转载 作者:可可西里 更新时间:2023-11-01 14:13:06 26 4
gpt4 key购买 nike

我有点莫名其妙。

一个简单的 rdd.count() 在多次运行时会给出不同的结果。

这是我运行的代码:

val inputRdd = sc.newAPIHadoopRDD(inputConfig,
classOf[com.mongodb.hadoop.MongoInputFormat],
classOf[Long],
classOf[org.bson.BSONObject])

println(inputRdd.count())

它打开到 MondoDb 服务器的连接并简单地计算对象。对我来说似乎很直接

根据 MongoDb,有 3,349,495 个条目

这是我的 spark 输出,都运行同一个 jar:

spark1 :    3.257.048  
spark2 : 3.303.272
spark3 : 3.303.272
spark4 : 3.303.272
spark5 : 3.303.271
spark6 : 3.303.271
spark7 : 3.303.272
spark8 : 3.303.272
spark9 : 3.306.300
spark10: 3.303.272
spark11: 3.303.271

Spark 和 MongoDb 在同一个集群上运行。
我们正在运行:

Spark version 1.5.0-cdh5.6.1  
Scala version 2.10.4
MongoDb version 2.6.12

很遗憾我们不能更新这些

Spark 是非确定性的吗?
有没有人可以赐教一下?

提前致谢

编辑/更多信息
我刚刚注意到我们的 mongod.log 中有一个错误。此错误会导致不一致的行为吗?

[rsBackgroundSync] replSet not trying to sync from hadoop04:27017, it is vetoed for 333 more seconds
[rsBackgroundSync] replSet syncing to: hadoop05:27017
[rsBackgroundSync] replSet not trying to sync from hadoop05:27017, it is vetoed for 600 more seconds
[rsBackgroundSync] replSet not trying to sync from hadoop04:27017, it is vetoed for 333 more seconds
[rsBackgroundSync] replSet not trying to sync from hadoop05:27017, it is vetoed for 600 more seconds
[rsBackgroundSync] replSet not trying to sync from hadoop04:27017, it is vetoed for 333 more seconds
[rsBackgroundSync] replSet error RS102 too stale to catch up, at least from hadoop05:27017
[rsBackgroundSync] replSet our last optime : Jul 2 10:19:44 57777920:111
[rsBackgroundSync] replSet oldest at hadoop05:27017 : Jul 5 15:17:58 577bb386:59
[rsBackgroundSync] replSet See http://dochub.mongodb.org/core/resyncingaverystalereplicasetmember
[rsBackgroundSync] replSet error RS102 too stale to catch up

最佳答案

正如您已经发现的那样,问题似乎不在于 spark(或 scala),而在于 MongoDB。

因此,关于差异的问题似乎已经解决。

您仍然希望解决实际的 MongoDB 错误,提供的链接可以是一个很好的起点:http://dochub.mongodb.org/core/resyncingaverystalereplicasetmember

关于mongodb - Spark rdd.count() 产生不一致的结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41853999/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com