【问题标题】:display column name into list[column]scala将列名显示到 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
}

【问题讨论】:

    标签: scala apache-spark apache-spark-sql


    【解决方案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)
      

      【讨论】:

        猜你喜欢
        • 2012-09-18
        • 2011-06-14
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2015-12-15
        • 2011-11-11
        • 2018-02-20
        • 2011-03-16
        相关资源
        最近更新 更多