云计算技术实验(文末有实验报告链接)

1 篇文章 0 订阅
1 篇文章 0 订阅

实验3:运行Hadoop MapReduce程序

按照步骤完成命令行方式下Hadoop MR程序的编辑,编译,运行过程。
1)编辑java文件
可以采用任意的文本工具编辑Java代码,
2)编译javac
(1)设置CLASSPATH
export CLASSPATH=
${CLASSPATH}:
${HADOOP_HOME}/share/hadoop/common/lib/commons-cli-1.2.jar:
${HADOOP_HOME}/share/hadoop/common/hadoop-common-2.6.5.jar:
H A D O O P H O M E / s h a r e / h a d o o p / m a p r e d u c e / h a d o o p − m a p r e d u c e − c l i e n t − c o r e − 2.6.5. j a r 也 可 以 永 久 修 改 / e t c / p r o f i l e 中 的 C L A S S P A T H 环 境 变 量 ∗ ∗ ( 2 ) 编 译 j a v a 文 件 ∗ ∗ j a v a c X X X X . j a v a − d X X X − d : 目 标 代 码 的 根 目 录 注 : 内 部 类 定 义 产 生 附 加 的 类 文 件 。 这 些 类 文 件 的 名 称 将 内 部 类 和 外 部 类 的 名 称 结 合 在 一 起 , 例 如 M y C l a s s {HADOOP_HOME}/share/hadoop/mapreduce/hadoop-mapreduce-client-core-2.6.5.jar 也可以永久修改/etc/profile中的CLASSPATH环境变量 **(2)编译java文件** javac XXXX.java -d XXX -d: 目标代码的根目录 注: 内部类定义产生附加的类文件。这些类文件的名称将内部类和外部类的名称结合在一起,例如 MyClass HADOOPHOME/share/hadoop/mapreduce/hadoopmapreduceclientcore2.6.5.jar/etc/profileCLASSPATH2javajavacXXXX.javadXXXd:MyClassMyInnerClass.class。
例如,如果将所有的源文件放在 /workspace 中,那么 com.mysoft.mypack.MyClass 的代码应该在\workspace\com\mysoft\mypack\MyClass.java 中。
源文件中设计了包结构将反应到目标代码目录中
3)打jar包
jar
-c: 创建压缩文件
-v: 输出压缩详细情况
-f: 指定压缩文件
-m: 指定清单文件(manifest.mf是描述JAR内容的清单文件)
-C dir:指定目录
参考:jar -cvf XXXXXX.jar -C XXX/ . //将XXX路径下的所有文件打包
4)执行
bin/hadoop jar xxx.jar packagename.classname input output
【注意】hadoop自带例子的结构
wordcount源代码在 /hadoop-2.6.5/share/hadoop/mapreduce/sources/hadoop-mapreduce-examples-2.6.5-sources.jar
unzip -x -q hadoop-mapreduce-examples-2.6.5-sources.jar -d output
hadoop shell的命令参考网址,http://hadoop.apache.org/docs/r1.0.4/cn/hdfs_shell.html

实验4:HDFS文件的读写

要求编程实现GetMerger功能,实现从云端(HDFS)中下载一个包含多个文件的路径(文件夹),将所有文件合并后保存到本地(GetMerge)。

实验5:Hadoop IO

要求改写实验4的GetMerge程序,实现将云端多个文件压缩到单个文件下载到本地。
1)采用Gzip压缩方法,本地文件为Merger.gz;
2)云端文件需要超过2个文件。

实验6:SequenceFile使用

本实验要求学生通过SequenceFile实现对多个小文件的封装。
要求如下:
1)使用随机数生成以(整数,字符串)为(key,Value)的文本文件,文件的大小内容任意,文件数量不少于100个;
2)使用SequenceFile对以上文件进行封装,生成一个独立文件,压缩格式任意;
3)实现以下的三种方式的查询:
3.1)给出文件名,可以从序列文件整体读取文件并存储到指定的位置;
3.2)给出某个整数的key,可以读取所有该key的数据,并给出所在文件的名称(可以输出到控制台);
3.3)给出文件名和整数的key,可以读取该文件中的对应key的数据(可以输出到控制台)。

实验7:MapReduce数据统计

本实验要求通过MapReduce程序实现数据统计,具体要求如下:
假设有一份简单的“个人通讯记录”的数据集,格式如下:
被叫号码,通话时间(秒)
13900000001,20
13900000008,126
……
1)编写一个MapReduce程序,统计拨打同一被叫号码的总时长。
2)找出平均通话时间最长的被叫号码。

资源下载路径

实验三
实验四
实验五
实验六
实验七

汇总,报告+代码
资源内容

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

emmaing

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值