




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、课程考核试卷目:大数据基础教师:冯 永科名: 张 琦 20151413068姓 陈 尧20151413074 李 艳20151413045 专业:计算机技术类别: (专业)上间:2015 年 9 月至 2015 年 11 月考 生 成 绩:阅卷评语:阅卷教师 (签名)重庆大学院制卷面成绩平时成绩课程综绩目录1搭建 Hadoop 环境1环境介绍1搭建步骤11.3 遇到基于 Hadoop2.1 程序. 3Map-Reduce 的 wordcount 实现5. 522.2wordcount 处理过程6扩展学习9数据集的说明9数据概述9数据集处理背景9数据集具体字段说明9数据集处理13服务器说明13设
2、计思路14编程的实现技术17Spark 编程模型17频繁项集挖掘算法17344.3 协同过滤算法18收集数据18找到相似用户和物品184.3.3 进行. 19评测标准20评测指标20程序评测结果20总结21比赛总结21课程总结2151 搭建 Hadoop 环境1.1 环境介绍1、系统性能介绍:如图 1-1 所示图 1-12、虚拟机介绍:如图 1-2 所示系统性能图图 1-2 虚拟机性能图说明:虚拟机版本:centOS 6.5 。给虚拟机分配三个节点:一个master节点和三个 slave 节点,每个节点分配 20GB 的空间和 2GB 的内存。1.2 搭建步骤1、设置各节点 IP 和 Host
3、name 使各个节点在同一个网段上方法:修改 hosts 文件图 1-3 各节点 ip 和主机名图登录2、设置 ssh 信方法:使用 rsa 在 master 上生成秘钥,然后使用 scp-r 文件名 接收方的ip 用户名把公钥发给每个分节点, 然后将公钥的内容写入到分节点的authorized_keys 文件中免登录命令:ssh 用户名主机名3、安装 JDK(1.6.0_24)并配置环境变量图 1-4 安装 JDK 图配置环境变量:profile图 1-5 环境变量图4、 安装 hadoop(2.4.1),并配置环境变量,master 创建至少一下目录;图 1-6 master 目录图5、修
4、改配置文件:core-site.xml、hdfs-site.xml、mapred-site.xml、 yarn-site.xml、hadoop-env.sh;配置文件说明:core-site.xml:Hadoop 的临时文件目录,包括文件系统的默认名字,用户等;hadoop-env.sh:jdk 的安装目录等;hdfs-site.xml:设置备份数量,分布式文件系统的口地址;文件;yarn-site.xml:配置资源管理的端6、格式化 hdfs 文件系统(第一次启动):hd 7、启动集群:./sbin/start-all.sh;启动成功的显示:在 master 节点上出现:amenode-fo
5、rmat;图 1-7master 节点成功显示图在其他 slave 节点上出现:图 1-7master 节点成功显示图8、建立 eclipse 连接。1.3 遇到(1)ssh 不通(注意一下秘钥是不是覆盖了。集群用户名是不是一致);(2)环境变量配置了还是找不到(sourceprofile。检测配置是否有问题,jdk 一般以 root 装,这样所有用户都可以使用);(3)文件系统格式化只能格式化一次,再次格式化就会出错;(4)每个节点的必须关闭,否则通信会出现问题(5)不同版本配置文件的 value 格式是不一样的,可以查看配置文件的 default文件进行更改;(6)不同版本默认端也是不一样
6、的;(7)hdfs 文件目录配置;(8)重启集群,需要删除日志 log 和 tmp;(9)jdk 和 hadoop 版本不兼容;(10)window 客户端下 eclipse 连接集群。缺少动态连接库和可执行文件;(11)map,reduce 任务数设置硬件上限,运行失败。2 基于 Hadoop Map-Reduce 的 wordcount 实现2.1 程序Wordcount 程序:MapReduce 采用分而治之的,把对大规模数据集的操作,分发给一个主节点管理下的各个分节点共同完成,然后通过整合各个节点的中间结果,得到最终结果。简单地说,MapReduce 就是任务的分解与结果的汇总。在分布
7、式计算中,MapReduce 框架负责处理了并行编程中分布式、工作调度、负载均衡、容错均衡、容错处理以及网络通信等复杂问题,把处理过程高度抽象为两个函数:map 和 reduce,map 负责把任务分解成多个任务,reduce 负责把分解后多任务处理的结果汇总起来。在 wordcount 程序中,map 方具体负责对输入进行操作,map 方法对输入的行以空格为进行切分,然后使用Outpollect 收集输出的,Reduce 方法以 map 的输出作为输入,reduce 方法将输入的 key 值作为输出的 key 值,然后将获得多个 value 值加起来,作为输出的值,最终 Reduce 的输出
8、是单词和它的数目。基本步骤:1、在/share/hadoop/mapreduce 里面去创建输入文件夹图 2-1 创建文件夹图2、在文件夹中上传本地文件输入文件:图 2-2 输入文件图上传命令:图 2-3 上传命令图3、运行 wordcount:图 2-4 运行wordcount 图4、查看结果:图 2-5 查看结果图2.2wordcount 处理过程1)将文件拆分成 splits,并将文件按行分割形成对。这一步由MapReduce 框架自动完成;图 2-6 分割过程2)将分割好的对交给用户定义的 map 方法进行处理,生成新的对;图 2-7 执行 map 方法3)得到 map 方法输出的对后
9、,Mapper 会将它们按照 key 值进行排序,并执行 Combine 过程,将 key 至相同 value 值累加,得到 Mapper 的最终输出结果;图 2-8 map 端排序集 combine 过程4)Reducer 先对从 Mapper 接收的数据进行排序,再交由用户自定义的reduce 方法进行处理,得到新的对,并作为 WordCount 的输出结果;图 2-9 reduce 端排序及结果输出3 扩展学习3.1 数据集的说明3.1.1 数据概述淘宝网深受欢迎的网购零售,其中服饰鞋包行业占据市场的绝大部分份额,围绕着淘宝诞生了一大批优秀的服饰鞋包导购类的产品。穿衣搭配是服饰鞋包 导购
10、中非常重要的课题,它所延伸出的技术、算法能广泛应用到大数据几乎所有场景中,如搜索、和服务。参加了淘宝举办的淘宝穿衣搭配算法竞赛,该竞赛将为参赛者提供搭配和达人生成的搭配组合数据,百万级别的淘宝商品的文本和图像数据,同时还将提供用户的脱敏行为数据。期待参赛者能从以上行为、文本和图像数据中挖掘穿 衣搭配模型,为用户提供个性化、优质的、专业的穿衣搭配方案。3.1.2 数据集处理背景图 3-1 处理背景图说明:从上图可以看出,要从淘宝提供的达人搭配数据和用户的行为数据中学习出下面这条裙子需要搭配怎样的鞋子或帽子。3.1.3 数据集具体字段说明1、搭配套餐数据(dim_fashion_match_set
11、s) 1)字段说明:图 3-2 搭配套餐数据字段说明2)具体数据展示:图 3-3 搭配数据具体展示图3)数据规模:上万级套餐数据 2、商品信息数据(dim_items) 1)字段说明:图 3-4 商品信息数据字2)具体数据展示:图 3-5 商品信息数据展示图3)数据规模:十万级商品信息3、用户历史行为数据(user_bought_history) 1)字段说明:图 3-6 用户历史行为数据字2)具体数据展示:图 3-7 用户历史行为数据展示图3)数据规模:百万级用户一年的历史行为数据(脱敏)324MB4、待的商品列表(test_items)1)字段说明:图 3-8 待商品列表字2)具体数据展示
12、:图 3-9 待商品列表数据展示图3)数据规模:5000 条待的商品数量5、 需要生成1)字段说明:表(fm_submiss)图 3-10 需生成数据字2)数据展示:图 3-11 需生成数据展示图3.2 数据集处理3.2.1 服务器说明一台服务器(4 核 cpu,32G 内存,30T 硬盘);四个刀片服务器(每个刀片:2 个 cpu,16 个核,32G 内存,220G 硬盘)。图 3-12服务器性能图图 3-13刀片服务器性能图3.2.2设计思路图 3-14 设计思路图说明:1)预处理数据:将数据处理成 Spark 编程模型的数据格式 RDD(弹性数据集格式)。下面是处理的代码。然后将数据成对
13、象,便于处理。2)基于商品的:基本如下:第一步:按搭配数据的商品 ID 和测试数据集的商品 ID 分别找到对应的商品类目,然后分别保存成对应的数据集;第二步:这两个数据集进行匹配,然后筛选出第一次的数据;第三步:对第一次的数据进行过滤,使用频繁项集算法按照商品的描述进行比对,按照一个比率去过滤到超过这个比率的数据,得到最终的基于商品的数据。3)基于用户的:基本如下:把用户的历史行为数据和测试数据进行比对,如果用户买过测试数据中的商品,就把该用户买过的其他商品给这个测试数据中的商品,得到用户数据。4)整合数据:将基于商品的数据和基于用户的数据进行整合,方法是把用户的数据放面,如果没有满 200
14、个商品,就把基于商品的数据添到对应的数据后面,最终填满 200 个数据。4 编程的实现技术4.1 Spark 编程模型Spark 是 UC Berkeleylab 所开源的类 Hadoop MapReduce 的通用的并行计算框架,Spark 基于 map reduce 算法实现的分布式计算,拥有 Hadoop MapReduce 所具有的优点;但不同于 MapReduce 的是 Job 中间输出和结果可以保存在内存中,从而不再需要读写 HDFS,因此 Spark 能更好地适用于数据挖掘与机器学习等需要迭代的 map reduce 的算法。Spark 的中间数据放到内存中,对于迭代运算效率更高
15、。Spark 更适合于迭代运算比较多的 ML 和 DM 运算。因为在 Spark 里面,有 RDD 的抽象概念。Spark 比 Hadoop 更通用。Spark 提供的数据集操作类型有很多种,不像Hadoop只 提 供 了Map和Reduce两 种 操 作 。 比 如map,filter,flatMap, sle,groupByKey,reduceByKey,union,join,cogroup,mapValues,sort,partionBy 等多种操作类型,Spark 把这些操作称为Transformations。同时还提供Count,collect,reduce,lookup,save
16、等多种 actions 操作。这些多种多样的数据集操作类型,给给开发上层应用的用户提供了方便。各个处理节点之间的通信模型不再像 Hadoop 那样就是唯一的 Data Shuffle 一种模式。用户可以命名,物化,控制中间结果的Hadoop 更灵活。、分区等。可以说编程模型比4.2 频繁项集挖掘算法在这个程序中使用的是频繁项集挖掘算法的经典算法(Apriori 算法)。Apriori 算法使用一种称为逐层搜索的迭代方法,其中 k 项集用于探索(k+1)项集。Apriori 算法的基本流程如下:扫描数据库,生成候选 1 项集和频繁 1 项集。从 2 项集开始循环,由频繁 k-1 项集生成频繁频繁
17、 k 项集。1)频繁 k-1 项集生成 2 项子集,这里的 2 项指的生成的子集中有两个k-1 项集。使3 个 2 项频繁集a, bb, cc, f,则它所有的 2 项子集为a, bb, ca, be, fb, cc, f对由 2.1 生成的 2 项子集中的两个项集根据上面所述的定理 i 进行连接,生成 k 项集。对 k 项集中的每个项集根据如上所述的定理 ii 进行计算,舍弃掉子集不是频繁项集即不在频繁 k-1 项集中的项集。扫描数据库,计算 2.3 步中过滤后的 k 项集的支持度,舍弃掉支持度小于阈值的项集,生成频繁 k 项集。3.当前生成的频繁 k 项集中只有一个项集时循环结束。4.3
18、协同过滤算法协同过滤(Collaborative Filteringmendation)是在信息过滤和信息系统中正迅速成为一项很受欢迎的技术。与传统的基于内容过滤直接分析内容进行不同,协同过滤分析用 户,在用户群中找到指定用户的相似()用户,综合这些相似用户对某一信息的评价,形成系统对该指定用户对此信息的喜好程度要实现协同过滤的。算法,要进行以下三个步骤:收集数据找到相似用户和物品进行4.3.1 收集数据这里的数据指的都是用户的历史行为数据,比如用户的历史,关注,收藏行为,或者了某些评论,给某个物品打了多少分等等,这些都可以用来作为 数据供算法使用,服务于算法。需要特别的在于,不同的数据准确性
19、不同,粒度也不同,在使用时需要考虑到噪音所带来的影响。4.3.2 找到相似用户和物品这一步也很简单,其实就是计算用户间以及物品间的相似度。以下是几种计算相似度的方法:距离:相关系数:Cosine 相似度Tanimoto 系数:4.3.3 进行在协同过滤中,有两种主流方法:基于用户的协同过滤,和基于物品的协同过滤。基于用户的 CF 的基本居用户,然后将邻居用户喜欢的相当简单,基于用户对物品的偏好找到相邻邻给当前用户。计算上,就是将一个用户对所有物品的偏好作为一个向量 来计算用户之间的相似度,找到 K 邻居后,根据邻居的相似度权重以及他们对物品的偏好,当前用户没有偏好的未涉及物品,计算得到一个排序的物品列表作为。基于物品的 CF 的原理和基于用户的 CF 类似,只是在计算邻居时采用物品本身,而不是从用户的角度,即基于用户对物品的偏好找到相似的物品,然后根据用户的历史偏好,相似的物品给他。从计算 的角度看,就是将所有用户对某个物品的偏好作为一个向量来计算物品之间的相似度,得到物品的相似物品后,根据用户历史的偏好当前用户还没有表示偏好的 物品,计算得到一个排序的物品列表作为。在这个程序中使用的是混合过滤算法,分别使用基于物品和基于用户,结合这两种的优点得出更加精确的数据集。4.4 评测标准4.4.1评
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 发电机组生产基地项目可行性研究报告
- 中国远洋渔船行业发展潜力预测及投资战略规划报告
- 某中学体育馆工程可行性研究报告
- 中国东台房地产行业投资分析及发展战略咨询报告
- 110KV输电线路工程质量评估报告
- 旧房翻新可行性研究报告
- 中国商业数据库行业发展监测及发展趋势预测报告
- 中国远洋渔轮未来趋势预测分析及投资规划研究建议报告
- 某地铁项目可行性研究报告
- 2025年中国光电子器件市场运营态势分析及投资前景预测报告
- 2025-2030年中国专业清洗设备行业市场现状供需分析及投资评估规划分析研究报告
- 关于医院“十五五”发展规划(2026-2030)
- 工程安装人员管理制度
- T/CHTS 10130-2024高韧超薄沥青磨耗层技术指南
- 数字化背景下家校协同育人的实践模式研究
- 2025年中级银行从业资格考试真题卷含答案《公司信贷》
- 辽宁省盘锦市兴隆台区2024-2025学年小升初考试数学试卷含解析
- 长沙市高中语文经典100题现代文阅读题含答案
- 交警心理知识讲座课件
- 综合性安全检查表
- 特色小吃开发策略-全面剖析
评论
0/150
提交评论