一个日志挖掘流系统

          在某厂工作中这个业务系统的复杂由于数据的庞大造成的。分为实时部分、批量挖掘部分。

         由于批量挖掘系统利用hadoop的map reduce挖掘, 假设所有输入的数据位(DataA)一起合并到一个对外服务的分布式的key-value数据库(设为DataBase的A表)中, 数 据量大,挖掘就成长,从用户行为日志产生到最终灌入DataBase中最长有大约48小时的延时。中间结果都保留在hdfs上,和最终对外服务的kv数据库解耦合,在hdfs备份,如果要回滚服务,只需将hdfs的老的备份重新导入到kv数据库中。

         实时系统(类storm)则为了弥补批量挖掘的时延影响,但又由于实时日志以及处理的性能要求,只能处理部分数据(设为DataB),DataB比DataA要小,但是都挑影响最重的最关键的数据引入。并且保留最长48小时的记录影响效果,最终导入分布式的key-value数据库(DataBase的B表)。

         这样对于一个用户在实时的结果和批量的结果。

         前端合并插件:在对外在线提供调用服务时,在线访问(DataBase的A表 以及 B表)得到用户的批量、实时结果,做加权合并。并且可以灵活控制影响效果。 比如抛弃实时或批量结果,比如实时结果不太好,我们可以将实时的结果降权。

        

          

        

你可能感兴趣的:(大数据)