如何优化这个Scala代码?

如何优化这个Scala代码?,scala,apache-spark,Scala,Apache Spark,我正在学习Scala,想知道如何优化这段代码。我有一个从Spark加载的RDD。这是一个以制表符分隔的数据集。我想将第一列与第二列合并,并将其作为一个新列附加到数据集的末尾,用“-”分隔这两个列 例如: column1\t列2\t列3 变成 column1\t列2\t列3\t列1-column2 val f = sc.textFile("path/to/dataset") f.map(line => if (line.split("\t").length > 1)

我正在学习Scala,想知道如何优化这段代码。我有一个从Spark加载的RDD。这是一个以制表符分隔的数据集。我想将第一列与第二列合并,并将其作为一个新列附加到数据集的末尾,用“-”分隔这两个列

例如:
column1\t列2\t列3

变成

column1\t列2\t列3\t列1-column2

val f = sc.textFile("path/to/dataset")

f.map(line => if (line.split("\t").length > 1) 
        line.split("\t") :+ line.split("\t")(0)+"-"+line.split("\t")(1) 
    else 
        Array[String]()).map(a => a.mkString("\t")
 )
 .saveAsTextFile("output/path")
尝试:


首先,我只做一次字符串拆分。谢谢,是的,把它从map{改为map(允许我在里面设置一个val)。
f.map{ line =>
  val cols = line.split("\t")
  if (cols.length > 1) line + "\t" + cols(0) + "-" + cols(1)
  else line
}