实验1:MapReduce课程实验

1.本地创建一个文件,"words.txt"   ,上传到hdfs:  "/neusoftin" 下

package hdfs;

import java.io.IOException;

import org.apache.hadoop.conf.Configuration;
import org.apache.hadoop.fs.FSDataOutputStream;
import org.apache.hadoop.fs.FileSystem;
import org.apache.hadoop.fs.Path;
/**
 * HDFS 文件上传
 * @author Administrator
 *
 */
public class CreateFile {
	
	public static void main(String[] args) throws Exception {
		
		//设置一个配置 服务器所在  信息 
		Configuration conf = new Configuration();
		// linux 上的  hdfs  访问 地址
		conf.set("fs.defaultFS", "hdfs://master:8020");
		// 从服务器 获取 hdfs 文件 操作对象
		FileSystem hdfs = FileSystem.get(conf);
		//找到上传的 文件
		byte[] buf = ("BEIJING, April 14 (Xinhua) According to Sputnik's report on April 14, the Russian " +
				"side said that two Ukrainian combat helicopters entered Russian airspace and attacked " +
				"residential buildings. At present, the Ukrainian side has not yet responded to this " +
				"news. This is the second time since the outbreak of the Russian-Ukrainian conflict " +
				"that Russia has claimed that Ukrainian helicopters have entered Russian airspace." +
				"According to reports, the Russian investigation committee said that Ukrainian helicopters" +
				" carried out at least six attacks on the residential building in Klimovo. The Committee " +
				"has launched a criminal investigation into the attack." +
				"Not long ago, Alexander Kuznetsov, assistant minister of health of Russia, said that " +
				"the Ukrainian army attacked Bryansk, causing seven injuries, and all the injured were " +
				"hospitalized." +
				"For th
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
大数据实验报告全文共6页,当前为第1页。大数据实验报告全文共6页,当前为第1页。 大数据实验报告全文共6页,当前为第1页。 大数据实验报告全文共6页,当前为第1页。 实验报告 2019 - 2020 学年第一学期 开课单位: 年级专业: 课程名称: 云计算与大数据实验 主讲教师: 课程序号: 课程代码: 学 号: 姓 名: 大数据实验报告全文共6页,当前为第2页。大数据实验报告全文共6页,当前为第2页。社交好友推荐项目 大数据实验报告全文共6页,当前为第2页。 大数据实验报告全文共6页,当前为第2页。 实验目的 《云计算与大数据》是一门实践性很强的课程,为了学好这门课程,必须在掌握理论知识的同时,加强上机实践。本实验的主要目的在于: 1、进一步学习和巩固本课程所讲解的主要内容。 2、重点掌握站Hadoop平台的搭建,HDFS的基本操作,MapReduce对实际问题解决的编程设计等。 3、拓展练习,掌握Hadoop与已学内容的综合应用。 4、掌握MapReduce编程模型 5、通过社交好友推荐学会MapReduce的编程思路 开发工具 1、Jdk 2、Hadoop 3、Eclipse 项目描述 如果A和B具有好友关系,B和C具有好友关系,而A和C却不是好友关系,那么我们称A和C这样的关系为:二度好友关系。 在生活中,二度好友推荐的运用非常广泛,一般在主流的社交平台上关于好友推荐上就有这方面的应用,当然,在当下海量的数据中,利用MapReduce编程模型来实现不失为一种较好的方式,具体的过程如下图。 这里需要同学们依据Mapreduce的设计原理通过编码实现该过程,这里建大数据实验报告全文共6页,当前为第3页。大数据实验报告全文共6页,当前为第3页。议的步骤有:1、搭建项目环境 2、Map阶段实现 3、Reduce阶段实现 4、Run程序主类实现。 大数据实验报告全文共6页,当前为第3页。 大数据实验报告全文共6页,当前为第3页。 实验内容与方法 在生活中,二度好友推荐的运用非常广泛,一般在主流的社交平台上关于好友推荐上就有这方面的应用。在传统的关系型数据库中,可以通过图的广度优先遍历算法实现,而且深度限定为2,然而在海量的数据中,这样的遍历成本太大,所以有必要利用MapReduce编程模型来并行化。本次实验就是通过MapReduce的思想来实现二度好友。我使用的方法是先以一个用户作为中间联系人,比如A和B是好友关系,B又和C是好友关系,那么B就是他们的中间人,他们都可以通过B来认识。然后我分别给A和C一个不同的标记来区分。首先在mapper阶段输出两行数据,xx【0】,xx【1】和xx【1】,xx【0】. 并且分别给了+号和-号进行标记,然后mapper阶段完了会自动进行合并。 所以在reduce阶段我们可以得到以Key为中间人的好友集合,并将两个不同标记的好友分别存进不同的列表里。大数据实验报告全文共6页,当前为第4页。大数据实验报告全文共6页,当前为第4页。 大数据实验报告全文共6页,当前为第4页。 大数据实验报告全文共6页,当前为第4页。 接下来用for循环求出这两个集合的笛卡尔积,并且进行输出,得到的就是二度好友的结果。 实验结果 输入的数据: 输出的数据: 验证了我的思路是对的。 大数据实验报告全文共6页,当前为第5页。大数据实验报告全文共6页,当前为第5页。实验总结 大数据实验报告全文共6页,当前为第5页。 大数据实验报告全文共6页,当前为第5页。 这次的实验总体来说完成的不错,让我理解了MapReduce的整体流程,还有MapReduce的"分而治之"的思想,让任务更加高效的完成。将任务分开处理的过程为map阶段,将每个小任务的结果合并到一起的过程为reduce阶段。而这个二次好友推荐项目想要完成,要先了解他的思路,概念。我用的只是很多种方法中的一种。我是用标记来区分以key为中间人的好友,然后再得到二次好友的方法。这种方法可能也会有一些不足之处,我也会尽量去完善,用更加高效的方法完成它。 参考材料 百度百科 云计算与大数据实验 附录 大数据实验报告全文共6页,当前为第6页。大数据实验报告全文共6页,当前为第6页。 大数据实验报告全文共6页,当前为第6页。 大数据实验报告全文共6页,当前为第6页。 大数据实验报告

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值