我正处于使用Sparc RDD设计应用程序的早期阶段(我还不了解)。 RDD将包含大量对象,这些对象又包含对少量(100个)大小(0.5MB)不可变对象的引用。
要在RDD上映射的操作将调用对象上的成员函数,这些函数又调用引用上的成员函数。
这原则上可行吗?
答案 0 :(得分:2)
Spark(不是sparc)数据通常会使用java序列化传递(除非您将其配置为使用kyro)。我认为这将对大型物体做正确的事情。如果您愿意稍微自定义数据,最好将broadcast variables用于大型不可变对象。
答案 1 :(得分:0)
我认为这违背了Sparks作为分布式函数式编程的精神。
我认为,根据地图,过滤和缩小的原语重新设计域模型会更好。关于调用这些函数的效果的推理似乎很难。
另外,如果它们是不可变的,那么调用方法的副作用是什么?