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

数据集成实时同步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。