实时同步字段格式

本文为您介绍数据集成实时同步字段的格式及附加列。

数据集成实时同步MySQL或Oracle数据的记录格式如下。

_sequence_id_

_operation_type_

_execute_time_

_before_image_

_after_image_

字段1

字段2

字段3

增量事件的记录 ID,值唯一且递增。

操作类型(I/D/U)

数据对应的时间戳

是否是变更前(Y/N)

是否是变更后(Y/N)

真实数据字段1

真实数据字段2

真实数据字段3

数据集成实时同步在同步MySQL、Oracle、Loghub和PolarDB类型的数据至DataHub或Kafka时,会在同步的目标端添加5个附加列,以进行元数据管理、排序去重等操作。

参数

类型

描述

_sequence_id_

STRING

自增ID,用于做全增量Merge。

_operation_type_

STRING

操作类型,取值分别如下:

  • I:INSERT操作

  • D:DELETE操作

  • U:UPDATE操作

_execute_time_

LONG

数据产生时间戳,即binlog时间戳。

_before_image_

STRING

是否更新前的记录,取值为Y或N。

_after_image_

STRING

是否更新后的记录,取值为Y或N。

对于INSERT、UPDATE和DELETE等不同的操作类型,增量数据记录中的_before_image__after_image_定义如下:

  • 当操作类型为INSERT时,生成的记录为更新后的记录,_before_image_取值为N,_after_image_取值为Y。

  • 当操作类型为UPDATE时,数据集成会将其拆分为两条记录。一条是更新前记录,一条是更新后记录。这两条增量数据的_sequence_id__operation_type__execute_time_对应的值一致。

    第一条增量数据是更新前的值,所以_before_image_取值为Y,_after_image_取值为N。第二条增量数据是更新后的值,所以_before_image_取值为N,_after_image_取值为Y。

  • 当操作类型为DELETE时,增量数据中为已经删除的数据,所以_before_image_取值为Y,_after_image_取值为N。