首页 > 解决方案 > 在行中插入值(Spark - Scala)

问题描述

我想创建一行(对于任何给定的k)这样 -

对于 k =2,图形将是 [Row(1,2), Row(3,4)]

对于 k =3,图形将是 [Row(1,2,3), Row(4,5,6), Row(7,8,9)]

我是 scala 的新手,不知道如何准确地在这样的行中插入值。

 import org.apache.spark.sql.Row    
 var graph = ArrayBuffer[Row]()
    
    val k = 3
    val k2 = k * k
    
    for (a <- 1 to k2) {
        graph += Row(a)
      }

标签: scalaapache-spark

解决方案


val k = 3
val range = ArrayBuffer.range(1, k*k + 1) 
val rows = range.map(v => Row(v))
val grouped = rows.grouped(k).toBuffer

推荐阅读