Más cosas que se pueden hacer con un Dataset Java…
Necesito cambiar la fecha de una columna para que mis tests siempre cumplan la condición de que la última fecha de actualización sea el día anterior al actual
import org.apache.spark.sql.functions; import java.time.LocalDateTime; import java.time.format.DateTimeFormatter; DateTimeFormatter format = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss"); LocalDateTime now = LocalDateTime.now(); LocalDateTime then = now.minusDays(1); //lectura del fichero de input Dataset<Row> ds = sparkSession.read().format("csv").option("header", "true").option("delimiter", ";").load("./src/test/resources/files/in.csv"); //modificación del contenido de una de las columnas ds = ds.withColumn("last_update_date",functions.lit(format.format(then)));
Es importante acordarse de que la aplicación del método withColumn devuelve un Dataset y que no se ejecuta sobre él mismo, por lo que es necesario recuperar el resultado de la ejecución.