Apache kafka 为RDBMS数据构建Kafka+Spark解决方案

Apache kafka 为RDBMS数据构建Kafka+Spark解决方案,apache-kafka,Apache Kafka,我当前的项目在大型机中,DB2作为其数据库。我们有70个数据库,每个数据库中有近60个表。我们的架构师提出了一个使用Kafka和Spark流处理数据的计划。Kafka在读取RDBMS表中的数据方面有多好?我们是否使用Kafka直接从表中读取数据,或者是否有其他方法将数据从RDBMS获取到Kafka中? 如果有更好的解决方案,您的建议会有很大帮助。不要直接从数据库中读取,它会产生额外的负载。我建议两种方法 将新数据发送到数据库和卡夫卡,或将其发送到卡夫卡,然后使用以进行处理 从数据库预写日志中读取

我当前的项目在大型机中,DB2作为其数据库。我们有70个数据库,每个数据库中有近60个表。我们的架构师提出了一个使用Kafka和Spark流处理数据的计划。Kafka在读取RDBMS表中的数据方面有多好?我们是否使用Kafka直接从表中读取数据,或者是否有其他方法将数据从RDBMS获取到Kafka中? 如果有更好的解决方案,您的建议会有很大帮助。

不要直接从数据库中读取,它会产生额外的负载。我建议两种方法

将新数据发送到数据库和卡夫卡,或将其发送到卡夫卡,然后使用以进行处理

从数据库预写日志中读取数据我知道MySQL可以使用,但我不确定DB2是否可以,并将其发送给Kafka进行进一步处理


您可以根据需要使用Spark Streaming或Spark Streaming。

因为它是一个数据库,数据不会连续添加到其中。也许像每天批量加载到数据库,除非我遗漏了什么。为什么不使用sqoop,因为它是专门为HDFS提供RDBMS数据而设计的?我和你的想法是一样的。但他们表示,从明年起,数据将达到PB级,与带有spark的卡夫卡相比,Sqoop的工作速度较慢。因此,我正在寻找一种解决方案或一种机制,以了解如何使用卡夫卡获取数据。有什么建议吗?那么,1。将数据写入Kafka集群,同时将数据写入RDBMS'2。从卡夫卡库中,编写一个卡夫卡制作人来生成数据3。使用Spark streaming从kafka producer读取数据。我的理解正确吗?你们并没有从制作人那个里读取数据。卡夫卡基本上是一个日志。您可以使用Kafka streams库从一个主题读取数据并写入另一个主题。然后使用处理后的数据,并将其写入任意位置,例如hdfs。Kafka流和Spark流的区别在于后者只提供微批处理。所以,基本上,您可以向RDBMS和Kafka生成数据。这可以通过火花流、水槽或卡夫卡连接器来完成。然后你使用卡夫卡流或火花流来消耗卡夫卡的数据。@ Sindrartha,如果你认为我的答案是正确的,请注明: