基于Hadoop集群的用户运动推荐系统

2016-04-14 11:13陈诚谢胜利
电脑知识与技术 2016年5期
关键词:数据分析大数据互联网

陈诚 谢胜利

摘要:随着生活水平的提高,人们的健康意识越来越强。但是目前人们体育运动持续性还是比较差,为了改变这一现状,我们研究设计了基于Hadoop集群的用户运动推荐系统。系统通过统计分析用户运动信息,获取大众用户的运动习惯,设计人们感兴趣的运动模式,以提高人们的运动积极性。系统包括了三大系统组件,用户运动数据采集组件、运动数据分析组件和运动数据管理组件。

关键词:运动;互联网;大数据;数据分析;Hadoop

中图分类号:TP311 文献标识码:A 文章编号:1009-3044(2016)05-0169-02

1 研究背景

目前,中国健身产业逐渐形成,我国健身市场呈现出多样化的特点。国务院2011年2月24日发布关于全民健身计划的通知,对国民健身发展提出了目标任务,更是刺激了健身行业的发展。目前我国18到50岁之间对相关服务有需求的消费者人数已超过4亿,已成为世界上最大的商业健身休闲市场[1]。然而,健身行业主要还是以传统健身房为主,健身房会员和私教课程的价格比较高。而相对于传统健身房,我们可以根据本系统分析不同地域用户的运动习惯,配置对应的运动设备,控制用户与健身房的距离,最大化降低运营成本,迎合普通人群的消费能力,实现全民健身。

另一方面,随着移动互联网的高速发展及移动智能终端的普及,互联网所产生的数据量呈现指数增长,使得包括健身行业在内的移动电子商务具有巨大的发展潜力[2]。目前每日用户运动产生TB级甚至PB级的运动数据,采集到用户的运动数据后,如何这些海量数据中挖取出有用的信息,越来越具有重大的实际意义[3]。本文针对用户运动产生的海量数据,搭建一个基于Hadoop及其相关组件的分布式系统,用于从中提取出我们所需要的信息,进行用户行为习惯分析。

2 系统架构设计

本系统通过Hadoop集群实现海量运动数据的存储和分析,构建用户运动数据端到端的大数据挖掘系统,实现用户的运动行为分析,提供运动推荐服务,实现从海量运动数据采集、分析、推荐运动服务的完整流程,包括了从用户运动数据采集、运动数据分析和运动数据管理三大组件,如下图所示:

系统各个运动组件分别采用了当前主流的系统框架。我们通过手机移动端APP和特殊健身器械获取数据,在接口层采用SpringMVC+Hibernate主流框架,将基本数据存入MySQL,于每日凌晨1:00用户活跃度较低时,启用crontab定时任务,利用Sqoop开源工具将MySQL中基础数据表导入Hive,完成对基础运动数据表的统计分析,再将分析结果返回给MySQL数据库,用于前端展现或APP页面查询。

3 用户运动数据采集组件

用户运动数据采集组件是我们基础数据的唯一来源,包括了两个信息采集途径,一个是利用特殊健身器械获取用户运动数据,另一个是通过手机移动端APP。主要采集信息有用户跑步步数、所在地理位置、跑步里程、运动时间等。

4 运动数据分析组件

Hadoop作为目前最为流行的处理大数据的软件平台,包含了HDFS和MapReduce两大核心技术,其中HDFS提供了海量数据的存储,MapReduce提供了对数据的计算。Hive作为Hadoop的重要组件之一,是分布式的关系型数据库,主要用来并行分布式处理海量数据。Hive中的所有查询除了"select ",底层都是需要通过MapReduce的方式来执行的。Sqoop是Apache的顶级项目之一,主要用来在Hadoop和关系数据库(MySQL等)中相互传递数据。通过Sqoop,我们可以方便的将数据从关系数据库导入到HDFS或Hive,或将数据从HDFS或Hive导出到关系数据库。

本组件主要对采集的运动信息进行分析,从中提出我们所需要的有用信息,用以作为用户行为习惯分析的依据。比如我们可以根据用户每日运动的时间,找出用户的生活规律;根据用户的跑步或散步时间分布,深度挖掘用户的性格偏向;对用户的经纬度轨迹分析,可得出用户与好友之间的社交关系等等。

本系统采用的思路是将采集的数据首先存入MySQL数据库。但为了减少了线上mysql数据库的负担。每天凌晨1点跑一个定时任务,利用Sqoop将基础数据一次性导入Hive,利用Hadoop的分布式技术框架分析这些数据,将统计结果存入Hive表中,最后把最终的今天这一天的推荐结果数据放入MySQL数据库表中,用于Web页面展示和APP显示。以用户每日运动里程为例进行分析如下。

5 运动数据管理组件

运动数据管理组件是采用目前主流框架SpringMVC+Hibernate设计的CMS系统,方便管理MySQL数据库中用户运动信息。分为以下几大功能模块:登录注册模块、个人中心模块、运动模块、挑战模以及排行榜模块。

1)登录注册模块和个人中心模块主要用于用户登录或注册账号,管理自己的个人信息,可用于增加、修改、删除部分信息。用户群体包括有系统管理员、普通用户、健身教练等,其中不同用户对应的系统权限都有所不同。

2) 运动模块和排行榜模块主要用于记录管理普通用户的历史运动信息以及相关统计信息,比如用户运动排名、总运动里程等。普通用户仅有查看记录的权限。

3)用户挑战模块管理用户参加的挑战,其中挑战运动主要由系统根据分析用户运动数据建立的不同规则的运动。

6 结束语

本文基于改变目前国民运动热情和运动持续性较弱这一现实状况,提出了一种基于Hadoop集群的用户运动推荐系统。针对移动互联网大数据时代的海量运动数据,我们结合了Hadoop集群实现海量运动数据的存储和分析,有效应对移动互联网时代的新业务需求,能够在有效的时间内完成对海量用户运动数据的处理和分析任务,为用户量身定做能刺激用户运动热情的运动模式,力争早日实现全民健身。

参考文献:

[1] 钟秉枢. 全民健身国家战略的提出与体育休闲健身产业的发展[J]. 体育科学,2015(11):19-23.

[2] 平杰.基于物联网的科学健身指导模型的构建与验证[J]. 计算机工程,2015(6):16-19.

[3] 孟小峰.大数据管理: 概念, 技术与挑战[J]. 计算机研究与发展,2015(8).

猜你喜欢
数据分析大数据互联网
浅析大数据时代对企业营销模式的影响
从“数据新闻”看当前互联网新闻信息传播生态
互联网背景下大学生创新创业训练项目的实施