我正在尝试使用Cassandra接收器读取2个kafka主题并插入2个Cassandra表。我怎么能这样做呢?
这是我的connector.properties
文件:
name=cassandra-sink-orders
connector.class=com.datamountaineer.streamreactor.connect.cassandra.sink.CassandraSinkConnector
tasks.max=1
topics=topic1,topic2
connect.cassandra.kcql=INSERT INTO ks.table1 SELECT * FROM topic1;INSERT INTO ks.table2 SELECT * FROM topic2
connect.cassandra.contact.points=localhost
connect.cassandra.port=9042
connect.cassandra.key.space=ks
connect.cassandra.contact.points=localhost
connect.cassandra.username=cassandra
connect.cassandra.password=cassandra
我做得对吗?这是最好的方法,还是应该创建两个独立的连接器?
答案 0 :(得分:2)
如果您想在一个消费者中使用这两个主题,那就没问题了,这是正确的设置。这样做的最佳方式取决于这些消息是由一个还是两个消费者使用。所以这取决于你的业务逻辑。
无论如何,如果你想通过一个消费者使用两个主题,那么应该可以找到,因为消费者可以订阅多个主题。你尝试过这个消费者吗?它有效吗?
答案 1 :(得分:0)
您的配置存在一个问题。每个主题分区需要一项任务。因此,如果您的主题有一个分区,则需要将tasks.max
设置为至少2。
我没有在Connect的文档中看到它,这很可惜