storage - 实现大规模日志文件分析

标签 storage hadoop mapreduce bigtable

谁能给我指点引用或提供有关 Facebook、雅虎、谷歌等公司如何执行大规模(例如多 TB 范围)日志分析的引用资料或高级概述,这些分析是他们为运营所做的,尤其是网络分析?

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

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

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

最佳答案

不幸的是,没有一个适合所有人的答案。

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

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

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

坦白说,我是 Cascading 项目的开发人员。

http://www.asterdata.com/

http://www.cascading.org/

关于storage - 实现大规模日志文件分析,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/794885/

相关文章:

mysql - MySQL 中的 BLOB 数据管理在更新为 null 期间?

java - BufferedWriter创建内部没有任何内容的空文件

hadoop - Apache Pig中元组成员的访问困难

hadoop - 现有 MapReduce 与 YARN (MRv2) 的区别

python - python 是否在连续的内存位置存储相似的对象?

ios - OS X 和 iOS 之间的存储差异

java - 如何让Hadoop输出为Text、Text格式?

java - 如何在MapReduce中不丢弃重复项

android - 为什么 Environment.getExternalStoragePublicDirectory 在某些设备(自 2011 年初以来专门制造)中不起作用?

hadoop - 从 Teradata Studio Express 15.10 连接 HDP