19/10/2021

Más Java Datasets

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.