Añadir columna en Dataframe en Scala

por | Ago 30, 2018 | Big data, Scala, Spark | 1 Comentario

Añadir columna de unoslogo scala

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|
+------+---------+---------+----+-------+------------+

1 Comentario

  1. carlos

    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

    Responder

Enviar un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *