【问题标题】:Log file analysis in Hadoop/MapReduceHadoop/MapReduce 中的日志文件分析
【发布时间】:2024-01-19 19:01:01
【问题描述】:

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

    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 编码,所以可能会使用流式传输。

提前感谢您的帮助。

【问题讨论】:

    标签: hadoop mapreduce hadoop-streaming elastic-map-reduce


    【解决方案1】:

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

    【讨论】:

      【解决方案2】:

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

      【讨论】:

        最近更新 更多