flink中将时间戳返回时间格式
在Flink中,可以使用org.apache.flink.api.common.functions.MapFunction和java.text.SimpleDateFormat来将时间戳转换为时间格式。
以下是一个示例代码:
import org.apache.flink.api.common.functions.MapFunction;
import java.text.SimpleDateFormat;
import java.util.Date;
public class TimestampToTime implements MapFunction<Long, String> {
@Override
public String map(Long timestamp) throws Exception {
Date date = new Date(timestamp);
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
return sdf.format(date);
}
}
在上面的代码中,我们实现了MapFunction接口,并重写了map方法。该方法接受一个Long类型的时间戳作为输入,并返回一个String类型的时间格式。我们使用java.util.Date类将时间戳转换为日期,并使用java.text.SimpleDateFormat类将日期格式化为指定的时间格式。
使用该函数时,可以将其应用于DataStream中的时间戳字段,例如:
DataStream<MyEvent> stream = ...;
DataStream<String> timeStream = stream.map(new TimestampToTime());
在上面的代码中,MyEvent类包含一个名为timestamp的字段,该字段存储了时间戳。我们使用map函数将时间戳转换为时间格式,并将结果存储在一个新的DataStream中
原文地址: https://www.cveoy.top/t/topic/ggaX 著作权归作者所有。请勿转载和采集!