为不同的推文主题创建不同的Kafka主题?

时间:2019-03-16 13:52:16

标签: apache-kafka spark-streaming tweepy

我正在尝试从Twitter流式传输有关不同主题的数据:音乐,政治,体育等,以便在地图上显示推文。目的是使用户可以“过滤”她/他正在观看的推文(按时间戳,按主题...)。我正在为此项目使用Kafka,Spark Streaming和Tweepy。

每个提到的主题都由几个关键字/标签过滤。您可以在下面看到一个示例。

music_keywords = ['music', 'song', 'The Voice', '#Eurovision']
politics_keywords = ['politics', 'democracy', 'government']
sports_keywords = ['sports', 'football', 'tennis', 'basketball', 'Real Madrid']

因此,我怀疑是为每个主题创建一个Kafka主题,还是只是通过一个密钥识别它们并将其发布到同一主题之间。

我已经读到,强烈建议分区以保留Kafka消息的发布顺序并按该顺序使用它们。但这对我来说不是问题,因为我不在乎订单,所有推文都将由同一位消费者使用。我还担心严格顺序的事实会导致消费时的延迟。

我考虑过的另一种解决方案是仅通过所有主题的所有关键字过滤推文,然后在解析使用者中的数据时,对每个推文的文本进行分类(例如,使用开关)

我不知道哪种方法最适合我的问题,同时考虑到我使用的是标准Twitter API,并且传入数据量不大。

0 个答案:

没有答案