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