小编Dan*_*rge的帖子

如何使用 Kafka Connect JDBC 来获取具有多个包含同名表的模式的 PostgreSQL?

我需要从具有约 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

7
推荐指数
0
解决办法
1216
查看次数

从XSD生成Python类和SQLAlchemy代码,以在Postgres上存储XML

我有一些非常复杂的XSD架构可供使用.复杂意味着这些XSD中的每一个都对应于数据库中的大约20个类/表,每个表具有大约40个字段.我有18种不同的XSD来编程.

我想要实现的是:获取XSD定义的XML文件,并使用SQLAlchemy将所有数据保存在PostgreSQL数据库中.基本上我需要一个CRUD应用程序,它将遵循XSD模式的模型在数据库中保存XML文件,并且还能够从数据库中检索对象并创建XML文件.

我想避免手动创建python类,sqlalchemy表定义,CRUD代码.鉴于XSD文件的复杂性,这将是一项巨大的工作,受到许多小错误的影响.

我可以通过许多方式从XSD生成python类,如GenerateDS,PyXB等......我需要将这些对象保存在数据库中.我愿意接受任何建议,即使这个建议在概念上与我所描述的不同.

非常感谢你

python xml postgresql xsd sqlalchemy

2
推荐指数
1
解决办法
1358
查看次数