【问题标题】:Implementing large scale log file analytics实施大规模日志文件分析
【发布时间】:2009-04-27 19:13:51
【问题描述】:

谁能指出我的参考资料或提供有关 Facebook、Yahoo、Google 等公司如何执行他们为运营特别是 Web 分析执行的大规模(例如多 TB 范围)日志分析的高级概述?

特别关注网络分析,我对两个密切相关的方面感兴趣:查询性能和数据存储。

我知道一般的方法是使用 map reduce 将每个查询分布在一个集群上(例如使用 Hadoop)。但是,最有效的存储格式是什么?这是日志数据,因此我们可以假设每个事件都有一个时间戳,并且通常数据是结构化的而不是稀疏的。大多数网络分析查询涉及分析两个任意时间戳之间的数据切片并检索该数据中的聚合统计信息或异常情况。

像 Big Table(或 HBase)这样的面向列的数据库会是一种有效的存储方式吗?更重要的是,它可以查询此类数据?您选择行子集(基于时间戳)的事实是否违背了这种存储类型的基本前提?将其存储为非结构化数据会更好,例如。反向索引?

【问题讨论】:

    标签: storage hadoop mapreduce bigtable


    【解决方案1】:

    很遗憾,没有一种适合所有的答案。

    我目前正在使用 Cascading、Hadoop、S3 和 Aster Data 通过 AWS 内部的分阶段管道每天处理 100 次 Gig。

    Aster Data 用于查询和报告,因为它为 Hadoop 上的级联进程清理和解析的海量数据集提供了 SQL 接口。使用 Cascading JDBC 接口,加载 Aster Data 是一个非常简单的过程。

    请记住,像 HBase 和 Hypertable 这样的工具是键/值存储,所以不要在没有 MapReduce/Cascading 应用程序帮助的情况下进行临时查询和连接以执行带外连接,这非常有用模式。

    完全公开,我是 Cascading 项目的开发人员。

    http://www.asterdata.com/

    http://www.cascading.org/

    【讨论】:

    • +1 表示指向 Aster Data 的指针。以前从未听说过它们,它们看起来很有趣。
    【解决方案2】:

    O'Reilly 所著的《Hadoop:权威指南》一书中有一章讨论了 hadoop 如何在两家现实世界的公司中使用。

    http://my.safaribooksonline.com/9780596521974/ch14

    【讨论】:

      【解决方案3】:

      查看 Google 的论文 Interpreting the Data: Parallel Analysis with Sawzall。这是一篇关于 Google 用于日志分析的工具的论文。

      【讨论】:

        猜你喜欢
        • 2010-09-07
        • 1970-01-01
        • 2014-05-17
        • 1970-01-01
        • 1970-01-01
        • 2014-02-01
        • 1970-01-01
        • 2013-02-26
        • 1970-01-01
        相关资源
        最近更新 更多