我想将datframe
中的列列表插入列表[列],以便我可以执行选择请求。它意味着要获取列列表并将其自动插入列表[列]任何帮助谢谢
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)
//array string contains names of column
val arrayList=intial_Data.columns
var colsList = List[Column]()
//wanna insert name of column into the listColum
arrayList.foreach(p=>colsList.)
//i want to have something like
//val colsList = List(col("col1"),col("col2"))
//intial_Data.select(colsList:_*).show
}
答案 0 :(得分:0)
您可以使用 col 功能,如下所示:
var colsList = List[Column]()
arrayList.columns.foreach { c => colsList:+=col(c)}
请记住导入sql函数以使用 col :
import org.apache.spark.sql.functions._
答案 1 :(得分:0)
我宁愿使用不可变列表而不是变量列表,如下所示进行转换。
val arrayList = initial_Data.columns
val colsList = arrayList.map(col)