我使用 CDC 增量加载从 mariadb 数据库到 duckdb 作为目标。由于没有任何用于 mariadb 的连接器,我使用了 mysql 连接器。设置过程中没有任何问题。然而,在同步时,该过程会在几分钟后停止并抛出以下错误:
无法调用“io.airbyte.protocol.models.AirbyteGlobalState.getStreamStates()”,因为“io.airbyte.protocol.models.AirbyteStateMessage.getGlobal()”的返回值为null
我还收到以下警告:
缺少职位 [职位编号] 的统计数据
我已经检查了内部 postgresql 内部状态表中的airbyte状态消息。然而,状态表是空的。源可能没有发出任何状态消息。
docker exec -ti airbyte-db psql -U docker -d airbyte
SELECT * FROM state;
AirByte 使用 Debezium 处理 MySQL 日志。
从 Debezium 开始,MariaDB 支持 MariaDB Connector/J,需要一些 补充配置
{
...
"connector.adapter": "mariadb",
"database.protocol": "jdbc:mariadb",
"database.jdbc.driver": "org.mariadb.jdbc.Driver"
}