10
votes

Comment définir les noms de colonnes sur la fonction Todf () dans Spark Dataframe à l'aide d'un tableau de chaîne?

Par exemple,

val columns=Array("column1", "column2", "column3")
val df=sc.parallelize(Seq(
(1,"example1", Seq(0,2,5)),
(2,"example2", Seq(1,20,5)))).toDF(columns)


0 commentaires

3 Réponses :


8
votes
val df=sc.parallelize(Seq(
(1,"example1", Seq(0,2,5)),
(2,"example2", Seq(1,20,5)))).toDF("column1", "column2", "column3")
toDF() takes comma-seperated strings

0 commentaires

13
votes

TODF () CODE> prend un paramètre répété em> de type chaîne code>, vous pouvez donc utiliser le type _ * code> Annotation pour réussir une séquence:

val df=sc.parallelize(Seq(
  (1,"example1", Seq(0,2,5)),
  (2,"example2", Seq(1,20,5)))).toDF(columns: _*)


2 commentaires

Merci ..Comment spécifier le type de données avec des colonnes à l'intérieur du TODF ()?


Merci .... c'est exactement je cherche plus d'une heure , merci



6
votes

TODF () est défini dans Documentation Spark comme: xxx

et vous devez donc transformer votre matrice sur un varargs comme décrit également < Un href = "https://stackoverflow.com/questions/4176440/syntax-sugar-for-troting-steq-as-method-paramètres"> ici . Cela signifie que vous devez effectuer ce qui suit: xxx

(ajout: _ * à colonnes dans TODF )


0 commentaires