Scala 如何在GraphX中映射compactBuffer
我有一个类似这样的压缩缓冲区:Scala 如何在GraphX中映射compactBuffer,scala,apache-spark,spark-streaming,spark-graphx,Scala,Apache Spark,Spark Streaming,Spark Graphx,我有一个类似这样的压缩缓冲区: CompactBuffer(((8,1.2),((1,1.3),1)), ((8,1.2),((4,1.1),1)), ((8,1.2),((7,2.1),1)), ((8,1.2),((8,1.2),1)), ((8,1.2),((10,1.1),1))) CompactBuffer(((12,7.2),((3,5.2),1)), ((12,7.2),((12,7.2),1))) CompactBuffer(((5,3.1),((2,2.7),1)), ((5,
CompactBuffer(((8,1.2),((1,1.3),1)), ((8,1.2),((4,1.1),1)), ((8,1.2),((7,2.1),1)), ((8,1.2),((8,1.2),1)), ((8,1.2),((10,1.1),1)))
CompactBuffer(((12,7.2),((3,5.2),1)), ((12,7.2),((12,7.2),1)))
CompactBuffer(((5,3.1),((2,2.7),1)), ((5,3.1),((5,3.1),1)), ((5,3.1),((6,3.2),1)), ((5,3.1),((9,2.2),1)), ((5,3.1),((11,2.8),1)), ((5,3.1),((13,5.1),1)))
如何映射该compactBuffer并将一个函数(我对其进行编码)传递到该映射中?
提前谢谢 如果您的意思是不知道
CompactBuffer
类,那么:
compactBuffer match {
case CompactBuffer(data) => yourFunction(data)
}
是一个优化的可变集合,用于容纳少量项目。它实现了Seq[T]
特性,因此所有众所周知的Seq
操作都可以应用于CompactBuffer
因此,要转换CompactBuffer
的内容,一个map
操作应该做到以下几点:
val v = CompactBuffer(((12,7.2),((3,5.2),1)), ((12,7.2),((12,7.2),1)))
val transf = v.map(tuple => ... )
所有其他采集操作也将起作用:flatMap
,过滤器
,获取
,删除