我有一个userID数据集和一个与每个UserID相关的帖子。 我想计算每个用户的帖子数量。我还希望将每个用户ID的所有帖子放在一起(将所有帖子连接在一起)。
有任何建议如何去做?
答案 0 :(得分:1)
映射器:
减速机:
类PostReducer扩展了Reducer<文字,文字,文字,文字>
reduce()可以有一个可迭代的循环,其中(i)一个计数器 对于每个提取的帖子和(ii)可以使用Text变量 使用合适的分隔符连接每个提取的Post。
完成循环后,键/ UserID和值/ 连接文本可以写入reducer的上下文。
作业成功运行后,生成的文件将包含UserID和连接的帖子,用标签分隔。
注意:在连接之前删除帖子中的所有制表符。如果您希望计数也在输出中,请在计数前加上一个选项卡,并在其中附加连续的帖子。
答案 1 :(得分:0)
键/值对中的键是userId。该值将是字符串列表(消息)。大多数列表都有count属性。
您正在寻找的信息可以通过以下方式访问:
var userId = 39;
获取用户39的第一条消息:userMessages [userId] [0]
获取用户39发布的消息数:userMessages [userId] .Count()