Spark, ajouter une Colonne avec la même valeur en Scala
J'ai un problème avec le withColumn
fonction Spark-Scala environnement.
Je voudrais ajouter une nouvelle Colonne dans mon DataFrame comme ça:
+---+----+---+
| A| B| C|
+---+----+---+
| 4|blah| 2|
| 2| | 3|
| 56| foo| 3|
|100|null| 5|
+---+----+---+
est devenu:
+---+----+---+-----+
| A| B| C| D |
+---+----+---+-----+
| 4|blah| 2| 750|
| 2| | 3| 750|
| 56| foo| 3| 750|
|100|null| 5| 750|
+---+----+---+-----+
la colonne D dans une valeur répétée N fois pour chaque ligne dans mon DataFrame.
Le code ce:
var totVehicles : Double = df_totVehicles(0).getDouble(0); //return 750
La variable totVehicles renvoie la valeur correcte, ça fonctionne!
La deuxième DataFrame a pour calculer les 2 champs (id_zipcode, n_vehicles), et d'ajouter la troisième colonne (avec la même valeur -750):
var df_nVehicles =
df_carPark.filter(
substring($"id_time",1,4) < 2013
).groupBy(
$"id_zipcode"
).agg(
sum($"n_vehicles") as 'n_vehicles
).select(
$"id_zipcode" as 'id_zipcode,
'n_vehicles
).orderBy(
'id_zipcode,
'n_vehicles
);
Enfin, j'ajoute une nouvelle colonne avec withColumn
fonction:
var df_nVehicles2 = df_nVehicles.withColumn(totVehicles, df_nVehicles("n_vehicles") + df_nVehicles("id_zipcode"))
Mais Étincelle me renvoie cette erreur:
error: value withColumn is not a member of Unit
var df_nVehicles2 = df_nVehicles.withColumn(totVehicles, df_nVehicles("n_vehicles") + df_nVehicles("id_zipcode"))
Pouvez-vous m'aider?
Merci beaucoup!
OriginalL'auteur Alessandro | 2016-07-26
Vous devez vous connecter pour publier un commentaire.
lit
fonction est utilisée pour ajouter des valeurs littérales comme une colonneOriginalL'auteur Rockie Yang