在Flink中,可以使用org.apache.flink.api.common.functions.MapFunctionjava.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

flink中将时间戳返回时间格式

原文地址: https://www.cveoy.top/t/topic/ggaX 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录