我想将要在数据帧中选择的列作为参数传递,因为我每次都这样做。它实际上有效
object PCA extends App{
val spark = SparkSession.builder.master("local").appName("my-spark-app").getOrCreate()
val strPath="C:/Users/mhattabi/Desktop/testBis2.txt"
val intial_Data=spark.read.option("header",true).csv(strPath)
val inputData=intial_Data.select("col1","col2").show
}
我想将参数传递给选择,所以我这样做了
object PCA extends App{
val spark = SparkSession.builder.master("local").appName("my-spark-app").getOrCreate()
val strPath="C:/Users/mhattabi/Desktop/testBis2.txt"
val columns="col1","col2"
val intial_Data=spark.read.option("header",true).csv(strPath)
val listcolu=intial_Data.columns
foreach(string s in listcolu)
{create the list insert the column name
}
}
它甚至没有接受它应该做的事情。目的是每次都将其作为参数传递。
你可以做这样的事情。
import org.apache.spark.sql.functions.col
val colsList = List(col("col1"),col("col2"))
intial_Data.select(colsList:_*).show