Spark Scala foreach循环中的赋值
我是scala/spark的新手,正在尝试循环一个数据帧,并在循环过程中分配结果。下面的代码可以工作,但只能将结果打印到屏幕上Spark Scala foreach循环中的赋值,scala,apache-spark,Scala,Apache Spark,我是scala/spark的新手,正在尝试循环一个数据帧,并在循环过程中分配结果。下面的代码可以工作,但只能将结果打印到屏幕上 traincategory.columns.foreach { x=> val test1 = traincategory.select("Id", x) import org.apache.spark.ml.feature.{OneHotEncoder, StringIndexer} //CODE TO PERFORM ONEHOT TRANSFORMAT
traincategory.columns.foreach { x=>
val test1 = traincategory.select("Id", x)
import org.apache.spark.ml.feature.{OneHotEncoder, StringIndexer}
//CODE TO PERFORM ONEHOT TRANSFORMATION
val encoded = encoder.transform(indexed)
encoded.show()
}
由于val是不可变的,所以我尝试将此转换的向量附加到另一个变量上,就像在R中所做的那样
//var ended = traincategory.withColumn(x,encoded(0))
我怀疑Scala有一种更惯用的处理方法
提前感谢您的帮助。解决方案位于: 如果有人对Scala MLIB有类似的问题,下面是一个很好的示例代码:
您看过Spark文档了吗?