将列名显示到 list[column]scala
Posted
技术标签:
【中文标题】将列名显示到 list[column]scala【英文标题】:display column name into list[column]scala 【发布时间】:2017-01-12 10:25:37 【问题描述】:我想将datframe
中的列列表插入到列表[列] 中,以便执行选择请求。这意味着想要获取列列表并将其自动插入列表 [column] 任何帮助谢谢
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
【问题讨论】:
【参考方案1】:你可以使用 col 函数如下:
var colsList = List[Column]()
arrayList.columns.foreach c => colsList:+=col(c)
记得导入sql函数使用col:
import org.apache.spark.sql.functions._
【讨论】:
【参考方案2】:我宁愿使用不可变列表而不是通过如下转换的变量列表。
val arrayList = initial_Data.columns
val colsList = arrayList.map(col)
【讨论】:
以上是关于将列名显示到 list[column]scala的主要内容,如果未能解决你的问题,请参考以下文章
mybatis plus Unknown column 'fieldame' in 'field list' 出现了列名找不到的问题
Column '表名.某列名' is invalid in the select list because it is not contained in either an aggregate f
Pivot Rows to Columns 考虑到列名和值列 SQL