- 需求,Mysql表中某日志表,要求统计数据的平均记录周期,在实践中学习,用Mysql可能比较麻烦,那就用用刚接触的MongoDB吧,也能跟去年研究的Hadoop沾点边,况且MongoDB支持MapReduce,去年一直想深入了解,但是太忙,没时间,正好现在研究看看。
- 使用命令行实在累人,所以使用了MongoVUE,这个工具。
- 开工了:
- 分析表结构,有用的字段一个是记录ID(可重复),一个是记录产生的时间;
- 将需要的字段和数据导入到MongoDB中;
- 编写第一个MapReduce,将记录产生的时间进行合并,形如:
{"ID":"1001", "DATES":['2014/2/10','2014/2/9','2014/2/6']}
- 编写第二个MapReduce,将每个记录的时间进行求均值操作,如上边这个则用:
((2月10号 - 2月9号)+ (2月9号 - 2月6号))除以 2
- 最后将所有记录再次求均值即可
- 第一步,导入数据步骤(借用的网上找到的图片):
- 选择MySQL数据库
- 建立数据库连接
- 选择表
- 选择字段
- 完成
时间: 2024-11-05 22:36:36