Kafka Streams Cassandra 连接器

Kafka Streams Cassandra Connector

我有几个关于 Data Mountaineer 编写的 Cassandra 连接器的问题。非常感谢您的帮助,因为我们正在努力找出扩展架构的最佳方式。

  1. 我们是否必须为每个要更新的 Cassandra table 创建连接器配置?例如,假设我有 1000 tables。每个 table 专用于不同类型的小部件。每个小部件都有相似的特征,但数据略有不同。我们是否需要为每个 table 创建一个连接器?如果是这样,这是如何管理的以及如何扩展的?

  2. 在Cassandra中,我们经常需要根据业务需要对列族进行建模。我们可能有 3 table 代表用户信息。 1 个按用户名,1 个按电子邮件,1 个按姓氏。我们是否需要 3 个连接器配置并部署 3 个单独的接收器任务以将数据推送到每个 table?

我觉得两个问题差不多,sink可以处理多个topic吗?

接收器可以在一个接收器中处理多个 table,因此一种配置。这是在 kcql 语句 connect.cassandra.export.route.query=INSERT INTO orders SELECT * FROM orders-topic;INSERT INTO positions SELECT * FROM positions 中设置的,但目前它们需要位于相同的 Cassandra 键空间中。这会将事件从 trades 主题路由到 Cassandra table,称为 trades and events from positions。您还可以 select 特定列并重命名为 select columnA as columnB.

您可能需要多个接收器实例以实现关注点分离,即将一组主题的写入与其他不相关的主题隔离开来。

您可以根据连接器允许的任务数量进行缩放 运行,每个任务都会为所有目标 table 启动一个 Writer。

我们有自己的支持渠道,可以进行更直接的沟通。 https://datamountaineer.com/contact/