如何查询Spark数据集的列名?

fwc*_*fwc 8 scala apache-spark spark-dataframe

我有一个val ds: Dataset[Double](在Spark 2.0.0中),但是可以传递给applycol从这个1-columned转换Dataset为a 的双值列的名称是什么Column.

fwc*_*fwc 9

列名称为"value",如ds.col("value"). Dataset.schema包含此信息:ds.schema.fields.foreach(x => println(x))


Alb*_*nto 8

您还可以使用DataFrame's方法columns,它将所有列作为字符串数组返回.

case class Person(age: Int, height: Int, weight: Int){
  def sum = age + height + weight
}

val df = sc.parallelize(List(Person(1,2,3), Person(4,5,6))).toDF("age", "height", "weight")

df.columns
//res0: Array[String] = Array(age, height, weight)
Run Code Online (Sandbox Code Playgroud)