flink-cdc 同步mysql数据到ES时间格式问题。

flink-cdc 能够读取binlog日志,从而实现mysql数据到ES的秒级同步。

好用的同时又有很多烦恼,其中时间格式就是一个很头痛的问题。

直接进入正题

使用es7和mysql 5.7为例

1.时间类型参照

首先我们已知mysql 有date 和timestamp(或者datetime)两种时间格式。

对应到ES是标准的date格式。

mysql 的date 类型格式如:"1993-02-01", 对应的ES的标准格式为:"1993-01-31T16:00:00.000Z"。

mysql的timestamp或datetime类型格式如: "1993-02-01 08:45:27",对应到es的ES标准格式类型为:"1993-02-01T00:45:27.000Z"

flink-cdc 时间格式与Mysql和es时间格式类型对照

flink-cdc mysql elasticsearch
date date date
timestamp timestamp(datetime) date
timestamp_ltz timestamp(datetime) date

那么处理时间格式上我们就可以用两种方法:

1.对于新建的ES索引在建立mapping的时候将date进行格式化处理

PUT db_test {
  
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值