作为尝试学习 hadoop 的一部分,我正在使用来自 twitter 流 API 的大量推文开展一个项目。在大约 2000 万条推文中,我生成了 N 个最活跃用户的列表,我想尝试根据他们所有推文的文本对其进行聚类。
所以我有一个几千个用户名的列表,我想做的是将每个用户的所有推文的内容连接在一起,最终为每个用户生成一个字数向量。
我不知道如何完成连接。我希望能够编写一些映射器来接收每条推文行,并说“如果这条推文来自我感兴趣的用户,则将其与关键用户名和值 tweetText 进行映射,否则忽略它。” 然后,reducer 可以很简单地像我想要的那样连接推文。
我的问题是,我如何告诉映射器我感兴趣的这一大用户列表?如果映射器可以拥有一个包含所有用户的 Hashtable 似乎会很好,但我不知道这是否可能。
有没有一个好的方法来完成这个,或者这个问题不适合 Map/Reduce?