【发布时间】:2016-06-23 11:12:41
【问题描述】:
我有一个这样的 RDD:
val graphInfo: RDD[(Long, Int, Long, Long, Iterable[Long])]
节点用Long类型整数表示,将存储在graphInfo的Iterable[Long]中。 Iterable 中可以包含多少个元素?单个 RDD 记录的大小有哪些限制(如果有)?
【问题讨论】:
-
Iterable的长度没有限制。它可能是无限的。 -
我只是不确定 RDD 的 Iterable 中的元素过多是否会导致 spark 崩溃。
-
这是一个不同的问题,关于 Spark,而不是 Scala。我怀疑是否有任何固定限制,但最终你会耗尽节点上的内存。真正的大数据聚合应该是 RDD 本身,而不是单个条目。用例是什么?
-
我们想要分层聚类一个巨大的图。在每一步中,我们都需要将节点存储在集群中以进行下一次分区。每个集群在 RDD 中都有一个条目,该条目包含存储在一个 iterable[Long] 中的所有节点。
-
那么,这是对图形建模的错误方法。如果您的 RDD 只包含几行,每行都非常大,那么使用 Spark 将一无所获。
标签: scala apache-spark iterable