Añadir columna de unos
Se suele añadir una coñumna de unos para en posteriores operaciones de reduce realizar recuentos por agrupación.
val df = Seq(
("id1", 1),
("id1", 2),
("id1", 3),
("id1", 4),
("id2", 1),
("id2", 2),
("id2", 3),
("id3", 1),
("id3", 2)
).toDF("id", "valor")
val df_plus = df.withColumn("new_column", lit(1))
df_plus.show()
+---+-----+----------+ | id|valor|new_column| +---+-----+----------+ |id1| 1| 1| |id1| 2| 1| |id1| 3| 1| |id1| 4| 1| |id2| 1| 1| |id2| 2| 1| |id2| 3| 1| |id3| 1| 1| |id3| 2| 1| +---+-----+----------+
Añadir columna compuesta
Componer elementos de varias columnas en una sola
val df = Seq(
("Paco","Garcia","Perez",24,24000),
("Juan","Garcia","Gomez",26,27000),
("Lola","Martin","Sanz",29,31000),
("Sara","Garcia","Calvo",35,34000)
).toDF("nombre", "apellido1","apellido2","edad","salario")
val df2 = df.withColumn("apellidos", concat($"apellido1", lit(" "), $"apellido2") )
df2.show()
+------+---------+---------+----+-------+------------+ |nombre|apellido1|apellido2|edad|salario| apellidos| +------+---------+---------+----+-------+------------+ | Paco| Garcia| Perez| 24| 24000|Garcia Perez| | Juan| Garcia| Gomez| 26| 27000|Garcia Gomez| | Lola| Martin| Sanz| 29| 31000|Martin Sanz | | Sara| Garcia| Calvo| 35| 34000|Garcia Calvo| +------+---------+---------+----+-------+------------+





Hola que tal? me han sido muy util tus post. Muy Agradecido, queria preguntarte como puedo crear una columna con la edad de una persona en base a otra columna que tiene la fecha de nacimiento. Greciaspor la respuesta