0

您好我有以下形式的一些查询日志文件:

    q_string    q_visits    q_date
0   red ballons 1790        2012-10-02 00:00:00
1   blue socks  364         2012-10-02 00:00:00
2   current     280         2012-10-02 00:00:00
3   molecular   259         2012-10-02 00:00:00
4   red table   201         2012-10-02 00:00:00

在一年的时间里,我每天都有一个文件,每个月都有一个文件。我想做的是:

(1) 按月对文件进行分组(或者更具体地说,对属于每个月的所有 q_strings 进行分组)

(2) 由于相同的 q_string 可能出现在多天,我想在一个月内对相同的 q_strings 进行分组,对该 q_string 的所有实例的 q_visits 求和

(3) 根据分组的 q_string 标准化 q_visits(通过将分组的 q_string 的 q_visits 总和除以该月内所有 q_string 的 q_visits 总和)

我希望输出具有与输入类似的架构,除了有一个额外的列,其中包含标准化的每月 q_visit 卷。

我一直在 Python/Pandas 中这样做,但现在有更多数据,并且觉得这个问题更容易适用于 MapReduce。

以上内容在 EMR/AWS 中是否易于实施?从概念上讲,执行上述操作的 MR 工作流程是什么?我想继续用 Python 编码,所以可能会使用流式传输。

提前感谢您的帮助。

4

2 回答 2

2

我宁愿使用Pig。易于学习和编写,无需冗长的代码。只需根据转换或数据流来表达您的数据处理并获得所需的结果。如果它符合您的需求,它比原始的 MR 工作要好得多。猪是为这些东西开发的。它肯定会节省很多时间。

于 2013-09-21T14:16:59.870 回答
1

对于结构化数据,使用 PIG 而不是 MAP reduce 会容易得多。您可以用最少的代码在 PIG 中编写相同的解决方案,从而减少开发时间。

于 2013-09-21T22:53:50.593 回答