谓词推动卡夫卡与火花流。过滤要在kafka级别从{kafka}读取的记录

时间:2018-03-30 16:56:38

标签: apache-kafka spark-streaming

我们要求处理来自kafka的火花流消息。我们从中提取消息的kafka主题有大约100种类型的多种类型的消息。但我们只对大约15种消息感兴趣。

目前需要在RDD或Dataframe上提取所有消息并应用过滤器选项。

由于很多消息在初始阶段被浪费了,他们是否会阻止kafka向我们发送这些消息以引发流媒体?如果有可能,我们可以使用较少的节点容量来运行火花流。

我们每分钟可获得大约100 K条消息,其中我们只处理15k条消息。

单独的主题对我们不起作用,因为kafka和制作人由第三方供应商管理。

1 个答案:

答案 0 :(得分:0)

我看到有这种特殊要求的问题的解决方案:

询问第三方供应商是否可以将messageType设置为密钥。这可能会让您只能按"键"在你的Spark应用程序中,甚至没有解析"值" Kafka消息中的字段。

此外,这种方法还可以让您有机会最小化您需要读取的分区,因为相同的密钥将转到相同的分区。这在以下前提下工作:

  1. 没有自定义分区程序
  2. 甚至超过1个分区