Mik*_*nte 3 scala covariance apache-spark rdd
我希望能够做到这样的事情
abstract class Super()
class Type1() extends Super
class Type2() extends Super
val rdd1 = sc.parallelize(Seq(new Type1()))
val rdd2= sc.parallelize(Seq(new Type2()))
val union = rdd1.union(rdd2)
Run Code Online (Sandbox Code Playgroud)
如果RDD在T union上是协变的,则RDD [Super],但这甚至不编译.有没有理由让RDD在T中不变?
因为Stack Overflow不喜欢链接到答案,所以这是它的要点.
Map(在密钥中不变)和Array(不变)的交互将更加尴尬(并且几乎肯定不向后兼容)