首页 > 解决方案 > Kafka Bigquery中的重复行

问题描述

我正在使用 BigQuery SINKing 我的 Postgres 数据库并且它正在工作,但是当我插入、更新或删除一行(Postgres)时,它出现在 BigQuery 3 行中:一个使用 insert 命令,另一个使用 update 命令,最后一个使用 delete .

例如:

1 - 插入后

Postgres
--------------------
id | name | deleted
--------------------
1  | John |  false
--------------------

BigQuery
--------------------
id | name | deleted
--------------------
1  | John |  false
--------------------

2 - 更新名称后

Postgres
--------------------
id | name | deleted
--------------------
1  | Mary |  false
--------------------

BigQuery
--------------------
id | name | deleted
--------------------
1  | John |  false
1  | Mary |  false
--------------------

3 - 删除后

Postgres
--------------------
id | name | deleted
--------------------
1  | Mary |  true
--------------------

BigQuery
--------------------
id | name | deleted
--------------------
1  | John |  false
1  | Mary |  false
1  | Mary |  true
--------------------

谁能告诉我如何解决这个问题?

标签: apache-kafkagoogle-bigqueryapache-kafka-connect

解决方案


听起来您正在使用 Debezium Postgres 连接器,它从数据库中捕获所有相关事件并为每个事件创建新记录

不确定您是否希望 BigQuery 与数据库完全匹配,但如果是这种情况,您可能不会使用 Kafka Connect,因为它几乎总是会向 BigQuery 插入新记录(取决于连接器实现细节),而是使用一些批处理过程来定期将整个数据库导入 BiqQuery


推荐阅读