web-dev-qa-db-fra.com

Comment interroger les noms de colonne d'un ensemble de données Spark?

J'ai un val ds: Dataset[Double] (dans Spark 2.0.0), mais quel est le nom de la colonne à double valeur qui peut être passée à apply ou col pour convertir de ce Dataset à 1 colonne vers un Column.

8
fwc

Le nom de la colonne est "valeur" comme dans ds.col("value"). Dataset.schema Contient ces informations: ds.schema.fields.foreach(x => println(x))

9
fwc

Vous pouvez également utiliser la méthode DataFramecolumns, qui renvoie toutes les colonnes sous forme de tableau de chaînes.

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)
8
Alberto Bonsanto