我使用RabbitMQ和一群工作人员从Twitter下载推文并处理它们。我还有一个Elasticsearch的实例,而不是Hadoop。我需要的是将收集的每条推文都移到该实例中,但由于我处理了大量数据,我不知道该怎么做。
如何将数据移至Elasticsearch?收到的每条推文插入是否过多?是Flume适合这个吗?我主要担心的是避免平台的瓶颈。实际上,我现在没有使用Flume来获取推文,因为我需要多个具有不同关键字的代理,并且每30分钟动态更新一次。
答案 0 :(得分:1)
根据您对体系结构的了解,您可以使用多种方法将Tweets编入索引到Elasticsearch。我会考虑三个主要选择:
使用可以使用Elasticsearch RabbitMQ River:这将自动执行 将RabbitMQ队列的所有内容索引到ES中。链接在这里: https://github.com/elasticsearch/elasticsearch-river-rabbitmq/blob/master/README.md
请注意,他们的示例是通过RabbitMQ索引路由的推文 进入ES所以它似乎很适合你的模型。您可能想阅读ES Rivers:http://www.elasticsearch.org/guide/en/elasticsearch/rivers/current/