我需要从具有约 2000 个模式的 PostgreSQL 数据库中获取数据。所有模式都包含相同的表(它是一个多租户应用程序)。
连接器配置如下:
{
"name": "postgres-source",
"connector.class": "io.confluent.connect.jdbc.JdbcSourceConnector",
"timestamp.column.name": "updated",
"incrementing.column.name": "id",
"connection.password": "********",
"tasks.max": "1",
"mode": "timestamp+incrementing",
"topic.prefix": "postgres-source-",
"connection.user": "*********",
"poll.interval.ms": "3600000",
"numeric.mapping": "best_fit",
"connection.url": "jdbc:postgresql://*******:5432/*******",
"table.whitelist": "table1",
"value.converter": "org.apache.kafka.connect.json.JsonConverter",
"value.converter.schemas.enable": "false",
"key.converter": "org.apache.kafka.connect.json.JsonConverter",
"key.converter.schemas.enable":"false"
}
Run Code Online (Sandbox Code Playgroud)
使用此配置,我收到此错误:
“连接器使用非限定表名作为主题名,并检测到重复的非限定表名。这可能导致主题中的混合数据类型和下游处理错误。为防止此类处理错误,JDBC Source 连接器在执行时无法启动检测重复的表名配置”
显然,连接器不想将多个同名表中的数据发布到单个主题。
这对我来说无关紧要,它可以转到单个主题或多个主题(每个模式一个)。
作为附加信息,如果我添加:
"schema.pattern": "schema1"
Run Code Online (Sandbox Code Playgroud)
到配置,连接器工作并且来自指定模式和表的数据被复制。
有没有办法复制包含同名表的多个模式?
谢谢
postgresql jdbc apache-kafka apache-kafka-connect confluent-platform
我有一些非常复杂的XSD架构可供使用.复杂意味着这些XSD中的每一个都对应于数据库中的大约20个类/表,每个表具有大约40个字段.我有18种不同的XSD来编程.
我想要实现的是:获取XSD定义的XML文件,并使用SQLAlchemy将所有数据保存在PostgreSQL数据库中.基本上我需要一个CRUD应用程序,它将遵循XSD模式的模型在数据库中保存XML文件,并且还能够从数据库中检索对象并创建XML文件.
我想避免手动创建python类,sqlalchemy表定义,CRUD代码.鉴于XSD文件的复杂性,这将是一项巨大的工作,受到许多小错误的影响.
我可以通过许多方式从XSD生成python类,如GenerateDS,PyXB等......我需要将这些对象保存在数据库中.我愿意接受任何建议,即使这个建议在概念上与我所描述的不同.
非常感谢你