我目前正在开发一个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解决方案可能不适用。
谢谢!
暂无答案!
目前还没有任何答案,快来回答吧!