0

我想知道如何从聚合日志中检索数据?这就是我所拥有的:
- 每天大约 30GB 的未压缩日志数据加载到 HDFS 中(这将很快增长到大约 100GB)
这是我的想法:
- 每天晚上使用 Pig 处理这些数据
- 读取、拆分和自定义日志UDF 检索如下数据:timestamp, url, user_id(可以说,这就是我所需要的)
- 从日志条目并将其加载到 HBase (日志数据将无限存储)

然后,如果我想知道哪些用户在给定的时间范围内看到了特定页面,我可以快速查询 HBase,而无需每次查询都扫描整个日志数据(我想要快速的答案 - 分钟是可以接受的)。并且将同时进行多个查询。

您如何看待这个工作流程?您认为将这些信息加载到 HBase 中有意义吗?还有哪些其他选择,它们与我的解决方案相比如何?我感谢所有评论/问题和答案。先感谢您。

4

1 回答 1

0

使用 Hadoop,您总是在做两件事之一(处理或查询)。

对于您要执行的操作,我建议您使用 HIVE http://hadoop.apache.org/hive/。您可以获取您的数据,然后创建一个 M/R 作业来处理该数据并将其按您喜欢的方式推送到 HIVE 表中。从那里(您甚至可以对数据进行分区,因为它可能适合速度,而不是像您所说的那样查看不需要的数据)。从这里您可以随意查询您的数据结果。这是非常好的在线教程http://www.cloudera.com/videos/hive_tutorial

有很多方法可以解决这个问题,但听起来 HBase 有点矫枉过正,除非你想设置它运行所需的所有服务器作为学习它的练习。如果你有成千上万的人同时想要获取信息,HBase 会很好。

您可能还想查看 FLUME,它是来自 Cloudera 的新导入服务器。它会将您的文件从某个地方直接传输到 HDFS http://www.cloudera.com/blog/2010/07/whats-new-in-cdh3b2-flume/

于 2010-07-29T15:51:25.053 回答