您好,欢迎来到爱够旅游网。
搜索
您的当前位置:首页基于Hadoop的大数据用户行为分析系统

基于Hadoop的大数据用户行为分析系统

来源:爱够旅游网
第33卷第5期 北京信息科技大学学报 Journal of Beijing Information Science&Technology University Vo1.33 No.5 0ct.2018 2018年10月 文章编号:1674—6864(2018)05—0065—06 DOI:10.16508/j.cnki.11—5866/n.2018.05.013 基于Hadoop的大数据用户行为分析系统 于淑云 ,林姝敏 (1.福建船政交通职业学院,福州350007;2.福建农林大学,福州350002) 摘 要:通过对大量相关用户行为分析资料进行分析总结,对用户行为日志产生和使用 过程进行了详细分析。通过构建Hadoop平台,使用HDFS分布式文件系统对海量日志进行存储, 结合B/S架构和Java技术,同时引入MapReduce计算模式,完成了基于Hadoop的用户行为数据 分析系统设计。按照功能模块设计了系统的测试用例,并测试了其实现情况。测试结果表明,所 设计的基于Hadoop的用户行为数据分析系统完成了用户行为分析功能,而且具有良好的可靠性。 关键词:Hadoop;用户行为;数据分析;数据展示 文献标志码:A 中图分类号:TP 311 Research and design of user behavior data analysis system based on Hadoop YU Shuyun ,LIN Shumin (1.Fujian Chuanzheng Comnmnications College,FuZhou 350007,China;2.Fujian A culture and Forestry University, FuZhou 350002,China) Abstract:Through studying user behavior based on a large number of related data,the production and using process of the user behavior log is analyzed.By building the Hadoop platform and using the ttadoop distributed file system to store massive|ogs,combining with B/S architecture and lava technology,and introducing graphs calculation mode,the design of the user behavior data analysis system is completed based on Hadoop.A test case is designed according to the function module and its implementation is tested.The test results show that the designed user behavior data analysis system based on Hadoop has implemented the required functions in the requirements analysis,and has good validity and reliability. Keywords:Hadoop;user behavior;data analysis;data show 0 引言 中国互联网络信息中心近期发布的《第37次 中国互联网络发展状况统计报告》表明,截至到 辅助系统管理者对用户的检索意图、点击事件以及 对检索结果的反馈进行全面的了解,能够为系统的 检索应用改进提供建议,进而使用户能够更加高效 地通过搜索引擎获取互联息。不仅能够提升企 业的竞争力,最主要的是能够提升用户体验,增加用 户粘性 。 2017年12月,国内使用搜索引擎的用户数量已达 8.35亿,仅次于即时通信的用户规模。搜索引擎作 为大多数互联网应用的入口,与人们的生活越来越 贴近。对于谷歌、百度这种市场占有率较大的搜索 类公司,每天产生的用户行为日志数以亿计 。 本文实现了基于Hadoop平台的用户行为数据 分析系统的设计。使用Hadoop框架 分布式计算 和存储技术处理海量用户行为数据,能够有效解决 传统并行计算在海量数据处理过程中存在的弊端。 通过对搜索引擎的用户日志的细致分析,能够 收稿日期:2018-05—19 基金项目:福建省教育厅自然科学基金项目(JA15661) 作者简介:于淑云,女,讲师。 北京信息科技大学学报 第33巷 因此,构建基于Hadoop平台的用户行为数据分析系 统是十分有必要的。 目前,用户通过搜索引擎获取自身需要的信息, 在搜索引擎的服务器中会产生相应的日志,该日志 记录了整个}丰J户查询行为的相关信息。通过分析用 户行为日志,对搜索引擎的服务和性能进行优化和 改进,能够使企业为用户提供更加个性化的搜索服 务,能够有针对性地向用户推送准确的检索信 息 。,提升用户体验 郝增勇 采用了基于Hadoop 的用户行为分析方法,首先利用高速捕包¨r具 一 RING抓取网络入口的数据作为』十j户行为分析的数 据源,并将其分布式存储,然后调用网络安全开发包 ]_具Libnids对数据包进行重组,实现TCP/IP的重 组,实现应用层H P还原,然后调用Hadoop集群, 利蚪j分布式Mapreduce编程来分析出用户应用层的 网络行为活动,实现从物理层到应用层的全层分析。 千电轻 借助Hadoop技术设计和研发自动的数据 可视化 具,将数据仓库之中产生的数据,自动映射 至Elasticsearch的文件系统,同时,在Kibana系统里 生成默认的 表,解决常规数据可视化方案操作繁 琐的问题。 本文通过对大量相关的用户行为分析资料进行 分析总结,通过构建Hadoop平台,搭建HDFS分布 式文件系统对海量日志进行存储,同时引入 MapReduce计算模式,完成了基于Hadoop的用户行 为数据分析系统的设计 。 1 用户行为分析系统架构设计 1.1 系统网络架构设计 本文设计的基于Hadoop的用户行为分析系统 旨在通过分布式计算平台让海量的用户数据分析过 程可行,同时具备高效率 】。图l捕述了用户行为 分析系统的架构。 1)Hadoop集群层。Hadoop集群层作为整个系 统架构的核心和根基,其主要负责向用户行为分析 系统提供可靠的软硬件平台和分布式云计算服务。 Hadoop集群主要由若干个单独的计算机设备搭建 而成。其中,只有l台计算机节点作为整个集群的 Master,剩余其它的计算设备作为Slaver。 2)HDFS存储层。HDFS存储层可以借助分布 式存储技术为用户行为分析系统提供可靠的数据存 储服务,主要南1个NameNode节点和多个 DataNode组合而成。同时,HDFS存储层还可以提 供与MapReduce计算层问的文件读取和写入的接 l 褴体系统架构 口,为数据计算分析提供渠道。 3)MapReduce计算层。MapRecluce计算层将对 采集到的用户行为日志进行分类计算。首先收集南 存储层传递而来的分类数据;然后将计算任务细化, 分配给不同的计算节点完成;再对计算结果进行 总,最终形成计算结果集。除r最基本的并行计算 能力之外,MapReduce计算模型还提供了相应的容 错机制和负载均衡机制,提升系统的整体运算性能。 4)业务逻辑层。业务逻辑层主要负责用户行 为日志的采集、数据的预处理、用户行为模式的挖掘 以及系统优化等方面的工作。 5)用户接口层。用户接口层是系统与用户进 行信息交瓦的主要通道。该层将为用户提供一个可 视化的操作和信息展示界面,通过此界面,用户行为 分析员和系统管理员能够直接与系统进行交互,通 过提交相应的请求,返同完整的数据结果。 1.2 系统逻辑架构设计 本文设计的基于Hadoop的用户行为数据分析 系统的软件层次结构采川MVC架构,即分别由模型 (mode1)、视图(view)以及控制器(controller)组成。 MVC作为一种应用较为广泛的软件设计典范,能够 实现软件业务逻辑、数据以及显示界面的分离,其完 善的组织代码能力,能将软件内部所有业务逻辑集 中到各个单独的部件中,在进行用户交互功能设计 和界面设置时,无需对逻辑模型层面的部件进行修 改调整。本文设计的用户行为分析系统,涉及到频 第5期 于淑云等:基于Hadoop的大数据用户行为分析系统 67 繁的界面操作和数据交互过程,非常适合采用MVC 框架模式,能够强制性的将软件系统的输人、处理和 输出完全分开。视图类负责用户界面的显示,控制 器根据用户交互的情况向模型类请求数据。模型类 完成了数据库的相关操作。 基于Hadoop的用户行为数据分析系统从逻辑 架构上可以分为4个层次,分别包括应用层、业务服 务层、业务逻辑层以及数据资源层。应用层主要包 含用户能够具体请求和使用的实际功能,在本系统 中指对用户行为信息的内容管理、功能管理以及交 互管理。业务服务层主要包含不同的应用层功能提 供的相应的技术支持和服务,即MVC框架中控制层 所完成的功能,包括身份认证、参数管理以及控制管 理功能。业务逻辑层主要负责协调数据与各功能层 间的关系,包括功能逻辑、处理逻辑以及数据操作。 数据资源层负责数据库层面的数据处理,包括数据 缓存服务、消息队列服务以及结构化和非结构化数 据库的管理。 2用户行为采集方法设计 目前典型的用户行为El志采集系统通常包括3 个基本元素,分别为Agent(其职责是封装数据源, 完成封装后将数据源中数据传输给Collector), Collector(能够接收来自不同Agent的数据,对数据 进行分类处理后传输到Store中),Store(作为整个 采集系统的存储系统,具备扩展性和可靠性,同 时能够支持本文采用的HDFS框架)。本文考虑使 用Hadoop平台的Chukwa工具完成用户行为Et志 数据采集过程,同时配合Java技术,进行用户行为 数据的提取。具体过程如图2所示。 、—— ,一 SData Appllp21Ap。ol Metrics O host One per1O0agents i~]、——/,一 图2用户行为采集系统结构 图2所示数据采集处理的过程如下: 在搭建的Hadoop平台上,部署Chukwa系统。 由Agent采集集群中节点的数据,每一类数据由 Adaptor实现,在Agent中配置所需采集数据的数据 源。Agent采集的数据,由Collector收集处理,并将 结果存储在集群上。Hadoop通过map/reduce机制 实现数据处理,可以通过Chukwa提供的Demux和 Achieving对数据进行分类、排序和去重等操作。 在本系统中,Chukwa采集处理数据过程如下: 1)Adaptor获取数据源。Adaptor能对其他数据 源进行封装,同时兼容File,Unix等命令行工具。本 系统中数据源主要是指Hadoop日志、应用程序的应 用数据以及系统参数等。 2)Chukwa与HDFS存储系统交互。Chukwa提 供了与HDFS作为存储系统的交互接口。HDFS作 为本文用户行为数据存储模块的主要平台,日志采 集完成后,Chukwa与HDFS系统进行对接,然后进 行数据的分布式存储和计算。 3)Agent数据源配置和Collector数据收集。为 了实现Chukwa系统对HDFS存储系统的控制调节, 在用户行为日志采集的过程中增加了Agent数据源 配置和Collector数据收集环节。 Agent元素主要负责为Adaptor提供各种相应 的控制服务。主要包括:Adaptor的启动与关闭,将 数据通过H1TrP协议传输到Collector处;同时定期 记录Adaptor的运行状态,以便发生崩溃后及时 恢复。 Collector的主要作用是完成多个数据源数据的 合并操作,然后将汇集完成的数据加载到HDFS分 布式存储系统中;同时隐藏HDFS实现的过程细节。 而且需要说明的是HDFS版本更换后,仅需要对 Collector进行修改即可。 4)Demux和Achieving。Demux和Achieving主 要与MapReduce处理数据进行交互通信。Chukwa 内部设置了2个MapReduce作业,能够支持数据和 数据结构化日志的转换,然后存储到HDFS分布式 存储系统和MySQL数据库中。日志采集格式及实 例如表1所示。 表1 日志采集格式及实例 3用户行为存储方法设计 针对系统分布式存储需求,数据存储过程设计 68 北京信息科技大学学报 第33卷 可以分为两部分:1)对用户行为日志采集模块获取 的数据进行结构化存储;2)为本系统业务数据库 MySQL中的相关数据做相应的映射存储。基于系 统的主要功能需求,本文采用的分布式数据存储系 统选用HDFS。用户行为13志存储结构如图3 所示。 图3用户行为El志存储结构 用户行为日志的更新和删除均属于对日志的替 换操作,相同用户在一段时间内的检索目标和关键 词不大相同,系统仅仅保留用户最新一个月内的行 为日志情况,用户行为分析员可以手动对用户的行 为日志进行更新和删除,也可以通过系统设置为定 时删除。 4用户行为分析方法设计 通过分析用户行为Et志能够获取用户搜索关键 字排名、用户点击链接排名、用户搜索行为记录等信 息,而且可以根据时间分段进行显示。由于 MapReduce计算模型的高效率特性,本文采用 MapReduce计算模型对用户行为特征进行分析。下 文将按照用户行为分析模块的子功能对其进行分析 说明,主要从用户搜索关键字排名、用户点击链接排 名以及关键字分析展开。 1)用户搜索关键字排行。用户搜索关键字排 行主要参考的是关键词的检索数量,数量越大,排名 越靠前,反映了用户的需求方向和此类信息的热门 程度。在面对海量数据源时,典型的非并行式计算 方法效率较低,而MapReduce采用分布式技术使得 海量数据的计算和储存变为可能。 在本模块中,MapReduce计算基本模式是:定义 <Key,Value>格式,根据键值对信息进行分类和排 序,最后统计和分析具备同样Key的Values列表数 据。用户搜索关键字排行的获取的流程是:在Map 阶段,键值对<Keyword,Value>被传输到系统内 部;在Reduce阶段中,将具备同样的Keyword的 Value值进行累加,然后就能够获取对应该关键字 (Keyword)的累计查询数量结果。基于MapReduce 的用户搜索关键字排序分析的具体流程如下。 Stepl:输入13志文件,然后将该日志文件通过 FileinputFormat类将其划分为不同的Map任务,并 将其布置到不同的节点中,同时通过Spilt工具类分 割原始的用户行为日志数据文件,分割后的数据块 被传输到系统设计的Map函数中完成相应的逻辑 处理,最后输出Map中的Key对应的关键字Value 值,此时Value值表示此Key(关键字)对应的List; Step2:随后进入Combine计算阶段,对本计算 节点的数据块进行Reduce,减少计算和输出的 规模; Step3:完成数据输出后系统进入Shuflfe阶段; Step4:实现Key值的默认排序; Step5:Reduce接收来自多个Map的数据,定义 Sequence类型的输出文件,进行关键字数量的统计, 并输出; Step6:将Step5输出的Sequence类型数据传输 到第2个Map中; Step7:完成Key—Value转换,同时完成关键字的 倒序排列; Step8:将最终关键词的倒叙排序结果输出。 2)用户点击链接。用户点击链接的排名主要 根据用户提交的检索关键词,索引到相关页面后,按 照页面的相似性度量以及网页目前所占的比重进行 排名。这种排序是宏观的,只有用户点击链接接入 网页后,说明这个链接是用户所需要的。因此,本系 统具备计算用户点击链接排名的功能,以便掌握用 户的检索意图。用户点击链接分析过程与关键词排 序类似,只是提取El志中的分析对象不同,前者提取 的是关键字,后者提取的是用户点击的链接,与关键 字排行过程逻辑不同的是,链接的截取字符串无需 进行转换编码。 3)用户关键词。通常情况下,在某一段时间内 用户检索的关键词或者点击频繁的链接往往与近期 的热门话题有一定的联系。本模块的用户关键词分 析是指本文将排名前十的关键词和用户点击链接中 的主题词语作为语料库,通过借助Word2vec工具实 现对关键词的分析,为用户提供“热词”服务,用户 在使用时能够提供相应的提示,增强用户体验。 下面是通过Word2vec工具实现用户关键词分 析的过程。首先,需要引入复杂度计算模型,其基本 第5期 于淑云等:基于Hadoop的大数据用户行为分析系统 69 定义为 0=E·T·Q (1) 式中:O为模型复杂度;E为学习训练的次数(系统 可以设置);T为学习训练语料中关键词的数量;不 同的模型对应不同的Q,Q在具体模型中定义。 Word2vec功能类似于神经网络,能够实现词语 的学习训练。Word2vec工具具备2种基本训练模 型,分别是CBOW模型和Skip—gram模型,2种模型 类似于传统的神经网络模型,只是略去了隐含层。 CBOW模型的核心理念是上下文能够直接影响 到当前关键词出现的概率。在此模型中,所有上下 文的关键词对目前关键词出现的概率的影响程度是 相同的,类似于从袋子中取关键词。在取词数量足 够多的情况下,取词的先后顺序是不重要的。 CBOW模型的结构示意图如图4所示。 输入层 发射层 输出层 图4 CBOW模型图 CBOW模型的训练复杂度可以表示为 Q=N·D+D·l Vf (2) 式中:Q为CBOW模型复杂度;N为输入层窗口总 体长度;D为发射层整体维度;f l为学习训练语 料词典的规模。学习训练的复杂度可以通过矩阵的 形式进行表示和计算,而且计算量是D·I {。 Skip—gram模型比CBOW模型简单,但是适用性 很强。在元模型中,由于窗口大小存在一定程度的 ,模型往往无法反映在窗口范围之外的词语对 当前关键词的影响程度。如果单纯进行窗口扩展, 必然会增加计算和学习训练的成本和复杂度,而 Skip—gram模型能够很好地解决以上问题。图5为 Skip—gram模型的示意图。 输入层 发射层 输出层 t- /21 卜”/2+1) 硝 ̄--H/2—1) ( ̄-t-”/2) 图5 Skip—gram模型示意图 判断Skip—gram模型是否完成训练的标准是式 (3)的值是否是最大:一一  专∑∑l1 。g ( f Wt) (3) £ 1≤ ≤ 式中:C为窗口的规模,在Skip—gram模型中即意味 着n—Skip—gram中的n值的大小;t和 为某单词 出现次数;T为学习训练文本规模。Skip—gram模型 的计算复杂度可以表示为()=c·(D+D·{ 1)。与 CBOW模型相比,该模型的计算复杂度更高。 5测试及分析 5.1测试环境搭建 测试环境搭建主要包含3个部分:本地环境配 置、SSH无密码互联配置以及Hadoop配置。 1)本地环境的配置。本地环境的配置首先需 要在服务器环境下配置主机IP地址和机器名(允许 godzilla用户登录,进入vi/ete/sysconfig/network路 径对配置文件进行设置,包括IP地址和机器名),同 时配置Host的映射文件(以godzilla身份对etc/ hosts映射文件进行编辑,同时映射IP地址与机器 名)。完成本地环境配置后,重启服务器,验证配置 是否生效。 2)SSH无密码互联环境的配置。在启动 Hadoop服务以后,名称节点NameNode通过SSH对 各个数据节点NameNode的进程进行启动和停止的 控制。要实现无密码登录,具体的配置过程如下: Stepl:以godzilla的身份执行指令vi/etc/ssh/ sshd—config,然后打开ssh—config配置文件; Step2:完成配置后重启相关服务; Step3:以godzilla用户的身份登录,对 NameNode和DataNode节点生成私钥和公钥; Step4:用户进 ̄/home/godzilla/.ssh目录,将 NameNode和DataNode节点重命名; Step5:通过执行scp命令将5个从节点中的公 钥发送到KVM一152—139节点的/home/hadoop/. ssh目录中; Step6:将所有NameNode和DataNode节点的公 钥信息添加到authorized—key目录中; Step7:将密码文件authorized—key传送给其他5 个从节点。 3)Hadoop的配置。Hadoop集群分布式开发模 式配置主要包括以下基本的步骤。 Stepl:对Java环境变量和Hadoop环境变量进 行配置; 70 北京信息科技大学学报 第33卷 Step2:到Hadoop的安装目录下寻找conf目录, 对此目录下的core—site.xml、、mapred—site.xml、hdfs- site.xml等配置文件的信息进行修改; Step3:masters文件,完成Secondary NameNode 机器名的配置,同时将其单独部署到一台机器中; Step4:slaves文件,完成从节点的机器列表指 定,每一行分布一台机器,分别为BJWS一149—71、 BJWS一149—72、BJWS一149—73、BJWS一149—74、 BJWS一149—75。完成配置后,执行jps命令对主从 节点的运行情况进行查看; Step5:完成Hadoop到所有集群的分发任务; Step6:重新启动Hadoop。为每个集群中的节点 配置好Hadoop环境之后,通过执行命令bin/hadoop namenode、formate,完成master主节点的HDFS初始 化操作,执行bin/start.al1.sh命令来启动整个HDFS 环境。 5.2测试结果分析 根据系统的功能需求和设计情况,本文按照功 能模块设计了系统的测试用例,并统计了其实现情 况。用例主要包括描述、输入、输出以及用例数等选 项。测试用例的数量为14个,每个测试用例的用例 数统一为20个,用户行为分析系统测试结果如表2 所示。另外,本文的日志样本来自于百度搜索实验 室,样本大小为10 G。 其中完成率是通过对比样本日志数量以及存储 到系统中的行为记录数量进行对比得到的,样本库 中的用户行为特征的结果是一定的,本文设计的用 户行为分析系统中采集并存储的数据与样本数量 一致。 室 旦皇 坌堑墨笙型 堕墨 ——型壁 查 塞堕刍 用户行为采集 100 用户行为存储 100 再户行为分祆 100 坌堑坌墨垦至 旦 6 结束语 本文通过构建Hadoop平台,搭建HDFS分布式 文件系统对海量日志进行存储,同时引入 MapReduce计算模式,完成了基于Hadoop的用户行 为数据分析系统的设计。在系统的功能层面上,分 别对用户行为日志采集方法、用户行为日志存储方 法、用户行为分析方法进行设计。测试结果表明,本 文中所设计的基于Hadoop的用户行为数据分析系 统能够完成用户行为分析功能。 参考文献: 『1] 王兵.基于云计算技术的大数据用户行为引 擎设计[J].电脑知识与技术:学术交流, 2016,12(5):1—2. [2] 高薇,王勐.基于大数据的用户行为分析研 究[J].电子技术与软件工程,2016,12(14): 194一l95. [3] 袁红,朱睿琪.用户信息搜索行为大数据分 析框架及其关键技术[J].图书馆学研究, 2016,3(24):39—46. [4] 任思颖.基于大数据的网络用户行为分析 [D].北京:北京邮电大学,2015. [5] 杨亦松,杨大利.基于Hadoop的网络用户信 用度评估模型研究[J].北京信息科技大学 学报,2017,32(5):77—83. [6] 谷红勋,杨珂.基于大数据的移动用户行为 分析系统与应用案例[J].电信科学,2016, 32(3):139—146. [7] 郝增勇.基于Hadoop用户行为分析系统设 计与实现[D].北京:北京交通大学,2014. [8] 王电轻.基于hadoop的网站用户行为分析系 统设计与实现[D].北京:中国科学院大 学,2016. [9] 韦安明,何亚维,王晓茹.大数据视角下的互 联网视频用户行为[J].广播与电视技术, 2016,43(3):46—54. [10] 张滨.基于KNN网络的大数据教育行为分 析研究[J].时代教育,2017,3(5):11—11. [11]Lee M S.A study on the ethical issues and sharing behavior of user’S information in the era of big data[J].ResearchGate,2016,21 (10):43—48. [12]Chih—Lin I,Liu Y,Han S,et a1.On big data analytics for greener and softer RAN『J].IEEE Access,2016,3(94):3068—3075. [13] 肖乃慎,李博,孔德诗.大数据背景下的电网 客户用电行为分析系统设计[J].电子设计 工程,2016,24(17):61—63. 

因篇幅问题不能全部显示,请点此查看更多更全内容

Copyright © 2019- igbc.cn 版权所有 湘ICP备2023023988号-5

违法及侵权请联系:TEL:199 1889 7713 E-MAIL:2724546146@qq.com

本站由北京市万商天勤律师事务所王兴未律师提供法律服务