【发布时间】:2014-12-31 18:30:17
【问题描述】:
我正处于使用 Sparc RDD 设计应用程序的早期阶段(我还不明白)。 RDD 将包含大量对象,而这些对象又包含对少数 (100) 个较大 (0.5MB) 不可变对象的引用。
要映射到 RDD 上的操作将调用对象上的成员函数,然后再调用引用上的成员函数。
这原则上可行吗?
【问题讨论】:
我正处于使用 Sparc RDD 设计应用程序的早期阶段(我还不明白)。 RDD 将包含大量对象,而这些对象又包含对少数 (100) 个较大 (0.5MB) 不可变对象的引用。
要映射到 RDD 上的操作将调用对象上的成员函数,然后再调用引用上的成员函数。
这原则上可行吗?
【问题讨论】:
Spark(不是 sparc)数据通常会使用 java 序列化传递(除非您将其配置为使用 kyro)。我认为这将对大型物体做正确的事情。如果您愿意稍微自定义数据,最好将broadcast variables 用于大型不可变对象。
【讨论】:
我认为这违背了 Sparks 作为分布式函数式编程的精神。
我认为根据映射、过滤和归约的原语重新构建域模型会更好。推理调用这些函数的效果似乎很困难。
另外,如果它们是不可变的,那么对它们调用方法的副作用是什么?
【讨论】: