INFO-mysql2iceberg,实时写入后查询iceberg,时间数据时区异常

适用模块

数据传输

具体说明

mysql timestamp数据写入iceberg可能会出现时区问题,表现如下:

来源 mysql 的 timestamp字段 写入iceberg timestamp字段,数据比真实数据大8h

INFO-mysql2iceberg,实时写入后查询iceberg,时间数据时区异常 - 图1

具体原因是因为:

table api的calc算子发现其逻辑内强制加了了来源flink类型->去向flink类型的强转cast,所以将timestamp转timestamp_ltz在,再sink到iceberg后,时间正确。

上面的”flink类型->去向flink类型的强转逻辑“,实时传输任务之前也做,但是默认不开启,需要通过任务级别自定义参数针对某种去向类型打开。

使用示例

9.0-update08之前, 批量转换timestamp类型的字段:cast(fieldname as timestamp_ltz) as fieldname

9.0-Update08之后,实时任务配置参数:ndi.flink.cast-type.enable=true


作者:潘晓宇