嗨,我有一些以下形式的查询日志文件:
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\u字符串分组)
(2) 由于同一个q\u字符串可能会在多天内出现,因此我想在一个月内对同一个q\u字符串进行分组,对该q\u字符串的所有示例的q\u访问进行汇总
(3) 根据分组的q\u字符串对q\u访问进行标准化(通过将分组的q\u字符串的q\u访问的总和除以当月所有q\u字符串的q\u访问的总和)
我希望输出与输入具有类似的模式,只是有一个额外的列,其中包含标准化的每月q\ U访问量。
我一直在用python/pandas做这个,但是现在有了更多的数据,并且觉得这个问题更容易被mapreduce处理。
上述内容在emr/aws中是否易于实现?从概念上讲,执行上述操作的mr工作流是什么?我想继续用python编码,所以可能会使用流。
提前谢谢你的帮助。
2条答案
按热度按时间kg7wmglp1#
我宁愿用Pig。易于学习和编写,无需冗长的代码。只需将您的数据处理表示为转换或数据流,即可获得所需的结果。如果它符合你的需要,那就比乔布斯先生好得多。Pig就是为这种东西而生的。这肯定会节省很多时间。
2mbi3lxu2#
对于结构化数据,使用pig要比使用map reduce容易得多。您可以用最少的代码在pig中编写相同的解决方案,从而减少开发时间。