Kafka Consumer与Apache Flink

时间:2017-03-26 03:17:27

标签: apache-kafka spark-streaming avro kafka-consumer-api apache-flink

我做了一个poc,其中我使用火花流从Kafka读取数据。但我们的组织要么使用Apache Flink,要么使用Kafka使用者从Apache kafka读取数据作为标准流程。所以我需要用Kafka消费者或Apache Flink取代Kafka流媒体。在我的应用程序用例中,我需要从kafka中读取数据,过滤json数据并在cassandra中放置字段,因此建议使用Kafka使用者而不是flink /其他流程,因为我并不需要进行任何处理与Kafka json数据。所以我需要你的帮助才能理解以下问题:

  1. 使用Kafka消费者,我可以实现与火花流或flink一样的连续数据读取吗?

  2. 考虑到我需要从kafka读取数据,使用avro scehma反序列化,过滤字段并放入cassandra,kafka消费者对我来说是否足够?

  3. 可以使用kafka消费者API创建Kafka消费者应用程序,对吗?

  4. 如果我只使用Kafka消费者而不是Apache flink,我的情况是否有任何不足之处?

1 个答案:

答案 0 :(得分:1)

首先,让我们看看Flinka Kafak ConnectorSpark Streaming with Kafka,它们都使用Kakfa Consumer API(简单的API或高级API)来消费来自Apache Kafka的消息为了他们的工作。

所以,关于你的问题:

1)是

2)是的。但是,如果你使用Spark,你可以考虑使用Spark Cassandra connector,这有助于我们有效地将数据保存到Cassandara

3)对

4)如上所述,Flink还使用Kafka消费者来完成其工作。此外,它是一个分布式流和批量数据处理,它帮助我们从Kafka消费后有效地处理数据。在您的情况下,要将数据保存到Cassandra中,您可以考虑使用Flink Cassandra Connector而不是您的编码。