如何在HDFS中存储和分析带时间戳的日志

时间:2013-05-13 17:42:27

标签: hadoop mapreduce hdfs

我有很多日志行,每个都有时间,我想存储在HDFS中并进行分析。我想运行MapReduce作业,它只处理给定时间范围内的行(最后5分钟,最后一小时)。

我正在寻找入门指针。而且,任何替代方案(例如,将行存储在hbase?其他平台?)

2 个答案:

答案 0 :(得分:1)

我的2美分:

你可以使用Hbase。读入文件的每一行,取出TS字段并将其用作rowkey,并将该行的其余部分存储在一列中。所以我们的表只有一列。这将允许您进行更快速的范围查询,如您所需(最后5分钟,最后一小时等)。为避免区域服务器热点,您可以创建预分割表。

或者,您可以将数据存储在由TS分区的Hive表中,然后通过HiveQL进行处理。或者根据TS存储数据。简单明了。

HTH

答案 1 :(得分:0)

虽然可以使用Hive / HBase组合的Map / Reduce程序完成日志处理,但Hadoop方法可能不适合频繁处理日志,因为Map / Reduce程序是为批处理而构建的。 Apache KafkaStorm的组合非常适合处理日志以满足您的要求

您还可以查看此link