一种基于Hadoop的海量web数据挖掘方法_2

文档序号:8487896阅读:来源:国知局
后Map操作对输入的每个记录进行扫描,将数据集按照上述格式进行初始化;经过Map操作后,得到中间结果〈〈A, B〉,1>,即用户从页面A访问了页面B ;Reduce操作则将中间结果按照具有相同<A,B>的页面跳转访问方式进行合并得到输出结果〈〈A,B〉,n>,其中,η代表访问路径A—〉B的频度;
每个数据集分别将Reduce操作的结果转换为链表结构,链表头部保存k值,链表结构:k(A, B) (B, D) (D, E)...,其中,k代表染色体的长度;A, B, C,D,E代表页面。
[0016]对每个所述的数据集内部进行遗传化操作,父代染色体中随机选择2条染色体,然后随机生成插入位置Ins、删除位置Del、插入删除长度Len ;比较2条染色体是否等长,如果相等,则判断头尾是否有重合,如果重合,则连接生成新的染色体,否则,不生成子代染色体;如果不等长,则判断插入和删除的2段基因是否相同,如果相同,则合并为一条染色体作为新的染色体,否则,不生成子代染色体。
[0017]当遗传代数为50或者其倍数时,数据群体间进行联姻操作直到k不再变化,结束操作;
③任务数据读取:被分配到Map子任务的TaskTracker节点读入已经分割好的数据作为输入,经过处理后生成key/value对;
④Map任务执行:TaskTracker调用从JobTracker获取到的用户编写的Map函数,并将中间结果缓存在内存中;
⑤本地写中间结果:内存中的中间结果达到一定阈值后,写入到TaskTracker本地的磁盘中;过程为:内存中的中间结果达到一定阈值后,写入到TaskTracker本地的磁盘中,将这些中间数据通过分区函数分成R个分区,并将它们的本地磁盘的位置信息发送给JobTracker,然后JobTracker将位置信息发送给执行Reduce子任务的TaskTracker ;
⑥远程读中间文件JASReduce的TaskTracker从JobTracker中获取子任务,根据中间结果的位置信息通过socket拉取数据,并利用中间结果的key值进行排序,将具有相同key的对进行合并;
⑦执行Reduce任务:执行Reduce任务的TaskTracker遍历所有排序后的中间数据,传递给用户的Reduce函数,执行Reduce过程;
⑧输出结果:当所有的Map任务和Reduce任务都完成时,JobTracker控制将Reduce结果写到HDFS之上。
【主权项】
1.一种基于Hadoop的海量web数据挖掘方法,其特征是: 搭建数据挖掘环境:在集群服务器中选择充当NameNode和MapReduce中的JobTracker的服务器,其余为计算节点和数据存储节点,测试数据集来自Web服务器机房的服务器日志; 数据挖掘作业提交:用户提交基于MapReduce编程规范编写的作业; 任务指派:计算出需要的Map任务数和Reduce任务数,并将Map任务分给任务执行节点TaskTracker ;同时分配相应TaskTracker执行Reduce任务; 任务数据读取:被分配到Map子任务的TaskTracker节点读入已经分割好的数据作为输入,经过处理后生成key/value对; Map任务执行:TaskTracker调用从JobTracker获取到的用户编写的Map函数,并将中间结果缓存在内存中; 本地写中间结果:内存中的中间结果达到一定阈值后,写入到TaskTracker本地的磁盘中; 远程读中间文件JASReduce的TaskTracker从JobTracker中获取子任务,根据中间结果的位置信息通过socket拉取数据,并利用中间结果的key值进行排序,将具有相同key的对进行合并; 执行Reduce任务:执行Reduce任务的TaskTracker遍历所有排序后的中间数据,传递给用户的Reduce函数,执行Reduce过程; 输出结果:当所有的Map任务和Reduce任务都完成时,JobTracker控制将Reduce结果写到HDFS之上。
2.根据权利要求1所述的一种基于Hadoop的海量web数据挖掘方法,其特征是所述任务指派的过程为:作业控制节点JobTracker根据作业的情况,计算出需要的Map任务数和Reduce任务数,并根据数据分布情况和对应节点的负载,将Map任务分给存储该任务且负载最轻的任务执行节点,同时根据作业结果的要求,分配相应TaskTracker执行Reduce任务。
3.根据权利要求2所述的一种基于Hadoop的海量web数据挖掘方法,其特征是所述的本地写中间结果的过程为:内存中的中间结果达到一定阈值后,写入到TaskTracker本地的磁盘中,将这些中间数据通过分区函数分成与Reduce任务数相同的分区,并将它们的本地磁盘的位置信息发送给JobTracker,然后JobTracker将位置信息发送给执行Reduce子任务的 TaskTracker0
4.根据权利要求2所述的一种基于Hadoop的海量web数据挖掘方法,其特征是所述的任务指派中计算过程为:MapReduce框架自动将测试集划分成M份,并对数据进行格式化?id, <A, B>),id表示日志编号;B表示用户当前访问的页面;A表示用户在访问B之前所停留的页面; 然后Map操作对输入的每个记录进行扫描,将数据集按照上述格式进行初始化;经过Map操作后,得到中间结果〈〈A, B〉,1>,即用户从页面A访问了页面B ;Reduce操作则将中间结果按照具有相同<A,B>的页面跳转访问方式进行合并得到输出结果〈〈A,B〉,n>,其中,η代表访问路径A — >Β的频度。
5.根据权利要求4所述的一种基于Hadoop的海量web数据挖掘方法,其特征是每个数据集分别将Reduce操作的结果转换为链表结构,链表头部保存k值,链表结构:k(A,B)(B, D) (D, E)...,其中,k代表染色体的长度;A, B, C,D,E代表页面。
6.根据权利要求5所述的一种基于Hadoop的海量web数据挖掘方法,其特征是每个所述的数据集内部进行遗传化操作,直到k不再变化,结束操作。
7.根据权利要求6所述的一种基于Hadoop的海量web数据挖掘方法,其特征是所述的遗传化操作的过程为:父代染色体中随机选择2条染色体,然后随机生成插入位置Ins、删除位置Del、插入删除长度Len ;比较2条染色体是否等长,如果相等,则判断头尾是否有重合,如果重合,则连接生成新的染色体,否则,不生成子代染色体;如果不等长,则判断插入和删除的2段基因是否相同,如果相同,则合并为一条染色体作为新的染色体,否则,不生成子代染色体。
8.根据权利要求7所述的一种基于Hadoop的海量web数据挖掘方法,其特征是所述的遗传代数为50或者其倍数时,数据群体间进行联姻操作。
【专利摘要】本发明公开一种基于Hadoop的海量web数据挖掘方法,属于计算机数据处理领域;本发明遗传算法与Hadoop的MapReduce进行融合,针对Hadoop的分布式文件存储系统HDFS中的海量Web数据进行挖掘,进一步验证该平台的高效性,在该平台上利用融合后的算法挖掘Web日志中用户的偏爱访问路径,实验结果表明,在Hadoop中运用分布式算法处理大量的Web数据,可以明显提高Web数据挖掘的效率。
【IPC分类】G06F17-30
【公开号】CN104809231
【申请号】CN201510235579
【发明人】王之滨, 孙海峰, 崔乐乐
【申请人】浪潮集团有限公司
【公开日】2015年7月29日
【申请日】2015年5月11日
当前第2页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1