选择与Hadoop用户列表匹配的记录

选择与Hadoop用户列表匹配的记录,hadoop,Hadoop,作为学习hadoop的一部分,我正在使用twitter流API中的大量推文进行一个项目。在大约2000万条推文中,我已经生成了N个最活跃用户的列表,我想根据他们所有推文的文本对他们进行聚类 所以我有一个几千个用户名的列表,我想做的是将来自每个用户的所有tweet的内容连接在一起,最终为每个用户生成一个字数向量 但我不知道如何实现连接。我希望能够编写一些映射器,接收每条tweet行,并说“如果这条tweet来自我感兴趣的用户,请使用关键用户名和值tweetText映射它,否则忽略它。”然后简化程序

作为学习hadoop的一部分,我正在使用twitter流API中的大量推文进行一个项目。在大约2000万条推文中,我已经生成了N个最活跃用户的列表,我想根据他们所有推文的文本对他们进行聚类

所以我有一个几千个用户名的列表,我想做的是将来自每个用户的所有tweet的内容连接在一起,最终为每个用户生成一个字数向量

但我不知道如何实现连接。我希望能够编写一些映射器,接收每条tweet行,并说“如果这条tweet来自我感兴趣的用户,请使用关键用户名和值tweetText映射它,否则忽略它。”然后简化程序可以像我希望的那样连接tweet

我的问题是,我如何告诉映射器我感兴趣的用户的这个大列表?如果映射程序可以有一个包含所有用户的哈希表,那就太好了,但我不知道这是否可行


有没有一个很好的方法来实现这一点,或者这个问题不适合Map/Reduce?

Aw,没关系。我已经考虑了一段时间,但一旦我在这里写出来,我意识到我认为我应该怎么做。我不需要列出所有用户的tweet数量为X的列表,然后再次查看数据并尝试查找他们的tweet,我可以一次完成所有操作

目前,我正在映射[username,1],然后让减速机将所有的1加起来生成tweet计数。然后,我尝试查找所有用户的tweets,这些用户的tweets超过X条

为了一次完成这一切,我应该映射[username,completeTweet],然后让reducer连接并输出数据,只针对拥有超过X条tweet的用户,而忽略其他用户