本文為您介紹Data Integration即時同步欄位的格式及附加列。
Data Integration即時同步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 |
Data Integration即時同步在同步MySQL、Oracle、Loghub和PolarDB類型的資料至DataHub或Kafka時,會在同步的目標端添加5個附加列,以進行中繼資料管理、排序去重等操作。
參數 | 類型 | 描述 |
_sequence_id_ | STRING | 自增ID,用於做全增量Merge。 |
_operation_type_ | STRING | 操作類型,取值分別如下:
|
_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時,Data Integration會將其拆分為兩條記錄。一條是更新前記錄,一條是更新後記錄。這兩條增量資料的_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。