Создавать разные темы Кафки для разных тем твитов? - PullRequest
1 голос
/ 16 марта 2019

Я пытаюсь транслировать данные из Твиттера о различных предметах: музыке, политике, спорте и т. Д., Чтобы отобразить твиты на карте.Цель состоит в том, чтобы пользователь мог «фильтровать» твиты, которые он / она наблюдает (по метке времени, по теме ...).Я использую 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 и использовать их в этом порядке.Но это не проблема для меня, так как меня не волнует порядок, и все твиты будут потребляться одним и тем же потребителем.Я также боюсь, что факт строгой последовательности может привести к задержке при потреблении.

Другое решение, о котором я подумал, это просто отфильтровать твиты по всем ключевым словам по всем предметам, а затем, когдаанализируя данные у потребителя, классифицируйте их (например, с помощью переключателя) относительно текста каждого твита.

Я не знаю, какой подход может быть лучшим для моей проблемы, также учитывая, что я используюстандартный Twitter API, и у меня нет большого объема входящих данных.

...