Google Datastream(mysql到bigquery),没有is_deleted字段,表中有主键

ckx4rj1h  于 2023-04-05  发布在  Mysql
关注(0)|答案(1)|浏览(101)

我在GCP中使用MySQL源和BQ目标的datastream。我注意到,如果源表定义了主键,那么datastream元数据字段不包括“is_deleted”列。
此外,BQ表(在查询时)复制MySQL表,而不是所有发生的事件。
(例如,如果我的MySQL表有5行,我修改了第1行并删除了第2行);我希望BQ表中有7行(5行+ 1修改+ 1删除)。然而,当我查询(SELECT * FROM)BQ表时,它只有4行(复制结果MySQL表))。
如果源表没有主键,则上面的示例按预期工作。

vc6uscn9

vc6uscn91#

faq所示,
Datastream将更改事件直接写入BigQuery数据集,其中更改与现有数据连续合并(UPSERT)。
Datastream使用upsert来更新表,当有主键存在时,bigquery可以根据主键进行upsert,所以表会保持和源表一样,当主键不存在时,我猜bigquery不能合并行。
但我不知道是否有设置可以改变这种行为。

相关问题