关于Data Mountaineer编写的Cassandra连接器,我有几个问题。任何帮助都是非常感谢的,因为我们正在努力找出扩展架构的最佳方法。
-
我们是否必须为我们想要更新的每个Cassandra表创建一个Connector配置?例如,假设我有1000个表。每个表专用于不同类型的小部件。每个小部件具有相似的特性,但数据略有不同。我们需要为每个表创建一个连接器吗?如果是这样,如何进行管理,如何扩大规模?
-
在Cassandra中,我们经常需要根据业务需求对列族进行建模。我们可能有3个表表示用户信息。1个通过用户名,1个通过电子邮件,1个通过姓氏。我们是否需要3个连接器配置并部署3个单独的Sink任务来将数据推送到每个表?
我认为这两个问题是相似的,水槽能处理多个主题吗?
一个sink可以处理多个表,所以一个配置。这是在kcql语句connect.cassandra.export.route.query=INSERT INTO orders SELECT * FROM orders-topic;INSERT INTO positions SELECT * FROM positions
中设置的,但目前它们需要在相同的Cassandra键空间中。这将把来自交易主题的事件路由到一个名为交易的Cassandra表和来自头寸的事件。您还可以选择特定的列并重命名,如select columnna as columnB。
您可能需要多个接收器实例来实现关注点分离,即将一组主题的写与其他不相关的主题隔离开来。
您可以根据连接器允许运行的任务数量进行扩展,每个任务为所有目标表启动一个Writer。
我们有自己的支持渠道,以便更直接地沟通。https://datamountaineer.com/contact/