我们有要求处理从kafka拉取的火花流消息。我们正在拉取消息的kafka主题有大约100种类型的消息。但我们只对大约15种类型的消息感兴趣。
当前需要拉取所有消息,并在RDD或Dataframe上应用筛选选项。
当许多消息在最初阶段被浪费时,我们是否可以阻止kafka发送这些消息给spark streaming?如果可能,我们可以让spark streaming在较小的节点容量下运行。
我们每分钟收到大约100K条消息,其中只处理15k条消息。
有单独的主题不适合我们,因为kafka和生产者是由第三方供应商管理的。
发布于 2018-03-31 22:47:36
我看到你的问题的一个解决方案,有这样的特殊需求:
询问第三方供应商是否可以将messageType设置为密钥。这可能会让你在Spark应用程序中只按"key“进行过滤,甚至不需要解析Kafka消息中的"value”字段。
此外,这种方法还可能使您有机会最小化需要读取的分区,因为相同的键将进入相同的分区。它在以下前提下工作:
https://stackoverflow.com/questions/49578312
复制相似问题