Flink时间转换工具类

import java.time.LocalDateTime;
import java.time.ZoneId;
import java.time.ZoneOffset;
import java.time.format.DateTimeFormatter;
import java.util.Date;

public class DateFormatUtil {

    private static final DateTimeFormatter dtf = DateTimeFormatter.ofPattern("yyyy-MM-dd");
    private static final DateTimeFormatter dtfFull = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss");

    public static Long toTs(String dtStr, boolean isFull) {

        LocalDateTime localDateTime = null;
        if (!isFull) {
            dtStr = dtStr + " 00:00:00";
        }
        localDateTime = LocalDateTime.parse(dtStr, dtfFull);

        return localDateTime.toInstant(ZoneOffset.of("+8")).toEpochMilli();
    }

    public static Long toTs(String dtStr) {
        return toTs(dtStr, false);
    }

    public static String toDate(Long ts) {
        Date dt = new Date(ts);
        LocalDateTime localDateTime = LocalDateTime.ofInstant(dt.toInstant(), ZoneId.systemDefault());
        return dtf.format(localDateTime);
    }

    public static String toYmdHms(Long ts) {
        Date dt = new Date(ts);
        LocalDateTime localDateTime = LocalDateTime.ofInstant(dt.toInstant(), ZoneId.systemDefault());
        return dtfFull.format(localDateTime);
    }

    public static void main(String[] args) {
        System.out.println(toYmdHms(System.currentTimeMillis()));
    }
}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Apache Flink 是一个开源的流处理和批处理框架,它支持实时数据处理和离线数据分析。Flink 提供了丰富的数据转换功能,使得数据可以在数据流中进行复杂的操作和转换。 1. 数据转换(Transformation)在 Flink 中主要包括以下几种操作: - **Source and Sink**:数据源用于读取数据(如 Kafka、TCP、文件系统等),数据sink负责将处理后的结果写入到目的地(同样支持多种格式)。 - **Map**: 基本的元素映射操作,类似于 SQL 的 SELECT * FROM 表 WHERE 条件。 - **Filter**: 根据特定条件选择数据行。 - **FlatMap**: 对输入进行一对一或多对一的转换,适用于提取或组合每个元素的子集。 - **Reduce**: 减少数据流中的元素,通常用于聚合操作,比如求和、平均值等。 - **Keyed operations**: 提供基于键的分组和窗口操作,如 keyBy、timeWindow等,用于关联具有相同键的元素。 - **Window operations**: 按照时间或事件窗口对数据进行分组和聚合。 - **Joins**: 内部 join、外 join、自连接等,用于合并两个数据流。 - **Windowing and Aggregations**: 定时窗口(Tumbling, Sliding, Session)和状态存储(State Backends)用于复杂的数据处理和聚合。 2. **DataStream API** 和 **Table API**:Flink 提供两种API风格,DataStream API 更像 MapReduce,而 Table API 提供更接近 SQL 的语法,可以更容易地进行数据查询和转换。 3. **Stream API**: Flink 的核心 API,提供了更简洁、直观的接口进行数据处理。 为了更好地使用 Flink 进行数据转换,你需要了解数据流的处理模型,掌握上述操作,并能灵活运用这些工具来构建你的数据处理管道。如果你正在使用 Flink 遇到具体问题,记得提供更多的上下文,这样我可以给出更精确的帮助。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值