Cassandra作为Kafka中的数据源/生产者

时间:2019-04-07 06:05:49

标签: cassandra apache-kafka

如何将cassandra集成为Apache Kafka中的数据生产者?

kafka配置上有任何特定配置吗?

2 个答案:

答案 0 :(得分:4)

Cassandra Sink连接器在confluent hub处可用,但Casfandra Source连接器不是kafka提供的。到目前为止,Cassandra Source连接器由landoop提供。

但是Kafka也提供了创建自定义连接器的选项。

您需要扩展SourceConnector连接器类并覆盖其方法。

public class CassandraSourceConnector extends SourceConnector {


    @Override
    public Class<? extends Task> getTaskClass() {
      return ImplementationClasName.class;
    }

    @Override
    public void start(Map<String, String> props) {
     // Properties
    }

    @Override
    public void stop() {
      // Nothing to do since no background monitoring is required
    }

您可以在https://docs.confluent.io/current/connect/devguide.html

中找到完整的信息

在创建cassandra源连接器类之后,您还需要对其进行配置,就像Cassandra Sink Connector一样。

到目前为止,Landoop Cassandra Source连接器仅适用于kafka 1.0和kafka 1.1。我建议您创建自己的连接器。您也可以访问此blog以获得信息。

希望,对您有帮助。

答案 1 :(得分:4)

为了将数据从外部系统导入Kafka,建议使用Kafka Connect。 Kafka Connect是一个框架,可提供可扩展且可靠的方式在Apache Kafka与其他数据系统之间流式传输数据。

Kafka连接器有两种主要类型,sourcesink连接器。源连接器将数据从外部系统传输到Kafka。接收器连接器将数据从Kafka传输到外部系统。

要从Cassandra到Kafka生成数据,您需要找到一个Cassandra Source连接器。最受欢迎的一个是Landoop提供的Cassandra Source连接器,它是Lenses的一部分,可以是found here。您将使用KCQL(不要与KSQL混淆)来编写连接器查询,以从Cassandra中获取所需的信息。

我建议您看一下这篇博客文章Getting started with the Kafka Connect Cassandra Source,以进行所有设置。