我目前正在开发一个spark元素,它涉及元组之间的一系列复杂连接,根据目标数据集构建一个N大小的元组。
我来自Java世界,并且已经将元组的每个元素中的特定字段解析为新对象。我知道必须有更好的方法来实现这一功能。
实施例
val obj1Obj2: ((Int, (Object1, Object2)) = object1.join(object2)
val obj3Resolve = obj1Obj2
.map(a => a match {case (k,v) => v}}
.map(a => (a._2.key, new Object3(a._2.key, a._1.foo, a._2.bar))
我想要做的是拥有一个我为每个特定目标对象扩展的通用特征,接受一个任意元组并返回一个任意元组。我发现连接本身是相对简单的,它是代码膨胀的中间对象声明,以及元组重组以便为将来的连接重新键入它们,我觉得这也是"的java"等。
非常感谢任何建议;我正在开发Spark,因此一些Scala解决方案可能不适用。
谢谢!