我有要求使用map reduce一个接一个地解析Apache访问日志和tomcat日志。很少的字段正在从tomcat日志中提取,并从Apache日志中提取。我需要根据时间戳合并/映射提取的字段,并将这些映射字段导出到传统的关系数据库(例如MySQL)中。将分析后的日志数据存储在hadoop中并将其导出到关系数据库中
我可以使用正则表达式或猪解析和提取信息。我面临的挑战是如何将提取的信息从两个日志映射到单个聚合格式或文件以及如何将这些数据导出到MYSQL。
几种方法我想到的
1)收件地图的输出从两个解析Apache访问日志和Tomcat日志减少到单独的文件,并合并这些到一个文件中(同样基于时间戳)。将这些数据导出到MySQL。
2)使用HBase的或配置单元以表的格式的数据存储在Hadoop和导出到MySQL
3)直接写图的输出用JDBC减少到MySQL。
哪种方法最可行,还请建议您知道的其他解决方案。
谢谢埃里克 我正在使用基于文件的方法在数据库中合并数据的轻微更改,而不是在mapreduce中执行它。来自两个日志的解析数据将被存储到两个单独的登台表中,并将这些登台表连接起来以获取最终的汇总数据,这些数据将存储在决赛桌中。 对于将这么多数据放入数据库是否合理的问题,解析后的数据将被汇总为与日志文件记录相比非常少的过滤的有用数据。将数据存储到关系数据库中的原因是允许传统应用程序访问该数据 – 2010-07-11 03:33:21