2016-09-19 13 views
2

我有一個val ds: Dataset[Double](在Spark 2.0.0中),但是可以傳遞給applycol的雙值列的名稱是什麼,以便將此列爲1的列表Dataset轉換爲Column如何查詢Spark數據集的列名?

回答

5

列名稱爲「value」,如ds.col("value")中所示。 Dataset.schema包含此信息:ds.schema.fields.foreach(x => println(x))

6

您也可以使用DataFrame的方法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)