【问题标题】:How can I map a compactBuffer in GraphX如何在 GraphX 中映射 compactBuffer
【发布时间】:2015-06-06 19:20:29
【问题描述】:

我有一个这样的 compactBuffer:

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 并将一个函数(我对其进行编码)传递到该映射中? 提前致谢!

【问题讨论】:

    标签: scala apache-spark spark-streaming spark-graphx


    【解决方案1】:

    CompactBuffer 是一个优化的可变集合,用于保存少量项目。它实现了Seq[T] trait,所以你所有众所周知的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 => ... )
    

    所有其他收集操作也将起作用:flatMapfiltertakedrop、...

    【讨论】:

      【解决方案2】:

      如果您的意思是不了解CompactBuffer 类,那么如何:

      compactBuffer match {
        case CompactBuffer(data) => yourFunction(data)
      }
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2016-09-28
        • 2018-09-02
        • 2011-05-29
        • 1970-01-01
        • 1970-01-01
        • 2014-06-06
        • 2021-09-29
        相关资源
        最近更新 更多