传递参数以选择数据帧火花



我想将要在数据帧中选择的列作为参数传递,因为我每次都这样做。它实际上有效

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

相关内容

  • 没有找到相关文章

最新更新