2023国开大数据导论实验报告实验4 大数据去重.docx

上传人:太** 文档编号:94316019 上传时间:2023-07-30 格式:DOCX 页数:8 大小:49.46KB
返回 下载 相关 举报
2023国开大数据导论实验报告实验4 大数据去重.docx_第1页
第1页 / 共8页
2023国开大数据导论实验报告实验4 大数据去重.docx_第2页
第2页 / 共8页
点击查看更多>>
资源描述

《2023国开大数据导论实验报告实验4 大数据去重.docx》由会员分享,可在线阅读,更多相关《2023国开大数据导论实验报告实验4 大数据去重.docx(8页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

1、实验4大数据去重1 .实验目的通过Hadoop数据去重实验,学生可以掌握准备数据、伪分布式文件系统配置方法,以及 在集成开发环境Eel ipse中实现Hadoop数据去重方法。2 .实验要求了解基于Hadoop处理平台的大数据去重过程,理解其主要功能,并能够在Hadoop环境下 独立完成。(1)制订实验计划。(2)准备数据。(3)伪分布式文件系统配置。(4)在集成开发环境Eel ipse中实现Hadoop数据去重。3 .实验内容(1)制订实验计划。(2)进入 /usr/local/hadoopn目录。(3)准备数据。(4)修改“/usr/local/hadoop/etc/hadoop/” 目录

2、下的Hadoop配置文件。(5) NameNode格式化。(6)在集成开发环境Eclipse中实现Hadoop数据去重。4 .实验总结通过本实验,使学生了解Hadoop数据去重的特点和过程、理解MapReduce程序的执行过 程,掌握NameNode的格式化方法、Hadoop的配置文件的修改和Eel ipse开发环境下实现Hadoop 数据去重的方法。5 .思考拓展(1)为什么需要NameNode格式化?说明NameNode格式化方法。(2)为什么需要数据去重?说明Hadoop数据去重的主要优势。(3)结合MapReduce程序执行过程,说明Hadoop数据去重是离线处理还是在线处理。(4)说

3、明在集成开发环境Eclipse中实现Hadoop数据去重的主要过程。答:数据去重方法如下【Hadoop学习项目】数据去重0 .项目结构 .idea src mainjava E* hadoop_test d data_duplicate_demo_02 DupDriver0 DupMapper0 DupReducer resources患 core-site.xml. hdfs-site.xml咒 hive-site.xml Iog4j.propertiesCSDN 星森。数据处理过程HDFS、(92.168.234.29split692.168.234.21(92 168.234.21map

4、C192.168 234.21 : NULL192.168 234.23: NULL192.168 234.21 : NULL192.168 234.21 : NULL192.168 234.21 : NULL192.168 234.25: NULL(192.168 234.21 : NUL J192.168.234.21 NULL,NULL NULL, NULL NULL192.168.234.23 NULL192.168.234.25 NULLreduce192.168.234.21 : NULL192.168 234.23: NULL: NULLmap192.168.2347?(192.

5、168 234.21 : NULL、192.168 234.26: NULL192.168.234.21 : : NULL192.168.234.21 : NULL192.168 234.27: NULL192.168.234.21 : NULL(192.168 234.29: NULL)192.168.234.21 NULL,NULL, NULL NULL)192.168.234.26 NULL192.168.234 27 NULL, NULL192.168.234.29 NULLreduce192.168.234.21 : NULL: NULL192.168 234.27: NULL192

6、.168 234.29: NULLCSDM星彩1. DupDriverpackage hadoop_test.data_duplicate_demo_02;import org.apache.hadoop.conf.Configuration;import org.apache.hadoop.fs.Path;import org.apache.hadoop.io.NullWritable;import org.apache.hadoop.io.Text;import org.apache.hadoop.mapreduce.Job;import org.apache.hadoop.mapredu

7、celib.input . FilelnputFormat;import org.apache.hadoop.mapreduce.lib.output.FileOutputFormat;public class DupDriver /*处理数据:12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061622125252122192.168,234*/21JL -zx. aw. .234567891011121314151617

8、18public static void main(String args) throws Exception System.setProperty(HADOOP_USER_NAME root”);Configuration conf = new Configuration。;Job job = Job.getInstance(conf);job.set3arByClass(DupDriver.class);job.setMapperClass(DupMapper.class);job.setReducerClass(DupReducer .class);job.setMapOutputKey

9、Class(Text.class);job.setMapOutputValueClass(NullWritable.class); / Value为NULL,具体原因后续会有说明job.setOutputKeyClass(Text.class);job.setOutputValueClass(NullWritable.class);FilelnputFormat.setlnputPaths(job, new Path(M/hadoop_test/dup/dup.txtM);FileOutputFormat.setOutputPath(job, new Path(M/hadoop_test/du

10、p/v/ord_count_resultM); job.waitForCompletion(true);)2. DupM叩per1 package hadoop_test.data_duplicate_demo_02;import org. apache. hadoop. io. Long!?lritable;import org.apache.hadoop.io.NullWritable;import org.apache.hadoop.io.Text;import org.apache.hadoop.mapreduce.Mapper;import java.io.lOException;p

11、ublic class DupMapper extends Mapper gOverrideprotected void map(LongWritable key, Text value, Context context) throws lOException, InterruptedException / vaLue : 192.168.70.49 /因为目标为去重,不用统,样遑。因此不用让My为1,可减少工0时间开销context.write(nev/ Text(value),NullWritable.get(); )i234567891011121314153. DupReducerpa

12、ckage hadooptest.data_duplicate_demo_02;import org.apache.hadoop.io.NullWritable;import ;import org.apache.hadoop.mapreduce.Reducer;import java.io.lOException;public class DupReducer extends Reducer Overrideprotected void reduce(Text key, Iterable values, Context context) throws lOException, Interru

13、ptedE context. write (nev/ Text (key), NullWritable. get();方法2:3456789101112131415161718192021221.2 设计思路数据去重的最终目标是让原始数据中出现次数超过一次的数据在输出文件中只出现一次,Map输入key为行号,value为行的内容(假设这是我们所需要取得值,当然如果不是,可是使用字符分割翟 到)Map输出key为行的内容,value为Nuliwntable(无值)Reduce输入Key为值,valuejNullWritableReduce原样输出中间可在map端使用combine1.3 程序代码

14、package test;import org.apache.hadoop.conf.Configuration;import org.apache.hadoop.fs.Path;import org.apache.hadoop, io.NullWritable;import org.apache.hadoop.io.Text;import org.apache.hadoop.mapreduce.3ob;import org.apache.hadoop.mapreduce.Flapper;import org.apache.hadoop.mapreduce.Reducer;import .Fi

15、leinputFormat;import org.apache.hadoop.mapreduce.lib.output.FileOutputFormat;import org.apache.hadoop.util.GenericOptionsParser;public class Dedub (public static class Map extends Napperprotected void map(Object key, Text value Context context) throws java.io.lOException ,InterruptedException contex

16、t.write(value, NullWritable.get();24252627282930313233343536373839404142434445464748495051525354555657public static class Reduce extends Reducerprotected void reduce(Text key, Iterable values Context context) throws java.io.lOException ?InterruptedException context.write(keyj MullWritable.get(););pu

17、blic static void main(String args) throws Exception Configuration conf = new Configuration。;String otherArgs = new GenericOptionsParser(confargs).getRemainingArgs();if (otherArgs.length != 2) (MUsage: Data Deduplication M);System.exit(2);)Job job = new Job(conf, Data Duplication*);job.setJarByClass(

18、Dedub.class);设置付ap、Combine和Reduce处理类job.setHapperClass(Map.class);job.setCombinerClass(Reduce.class);job.setReducerClass(Reduce.class);设置输出类型job.setOutputKeyClass(Text.class);job.setOutputValueClass(NullWritable.class);设置输入和输出目录FilelnputFormat.addinputPath(jobnew Path(args0);FileOutputFormat.setOutp

19、utPath(job, new Path(argsl);System.exit(job.waitForCompletion(true) ? 0 : 1);4、设置程序输入参数,myeclipse设置。运行,得到结果:14/06/15 22:01:32 INFO mapred.JobClient: map 100% reduce 100%14/06/15 22:01:32 INFO mapred.JobClient: Job complete: job_local_000114/06/15 22:01:32 INFO mapred.JobClient: Counters: 1914/06/15

20、22:01:32 INFO mapred.JobClient: File Output Format Counters14/06/15 22:01:32 INFO mapred.JobClient: Bytes Written=914/06/15 22:01:32 INFO mapred.JobClient: FileSystemCounters14/06/15 22:01:32 INFO mapred.JobClient: 14/06/15 22:01:32 INFO mapred.JobClient: 14/06/15 22:01:32 INFO mapred.JobClient: 14/

21、06/15 22:01:32 INFO mapred.JobClient: 14/06/15 22:01:32 INFO mapred.JobClient: 14/06/15 22:01:32 INFO mapred.JobClient: 14/06/15 22:01:32 INFO mapred.JobClient: 14/06/15 22:01:32 INFO mapred.JobClient: 14/06/15 22:01:32 INFO mapred.JobClient: 14/06/15 22:01:32 INFO mapred.JobClient: 14/06/15 22:01:3

22、2 INFO mapred.JobClient: 14/06/15 22:01:32 INFO mapred.JobClient: 14/06/15 22:01:32 INFO mapred.JobClient: (bytes)=492109824FILE_BYTES_READ=81479 HDFS_BYTES_READ=43 FILE_BYTES_WRITTEN=279482 HDFS_BYTES_WRITTEN=9File Input Format CountersBytes Read=17Map-Reduce FrameworkMap output materialized bytes=

23、31Map input records=9Reduce shuffle bytes=0Spilled Records=10 Map output bytes=17 Total committed heap usageSPLIT_RAW_BYTES=190Combine input records=9Reduce input records=5Reduce input groups=5 Combine output records=5 Reduce output records=5 Map output records=914/06/15 22:01:32 INFO mapred.JobClient: 14/06/15 22:01:32 INFO mapred.JobClient: 14/06/15 22:01:32 INFO mapred.JobClient: 14/06/15 22:01:32 INFO mapred.JobClient: 14/06/15 22:01:32 INFO mapred.JobClient: 14/06/15 22:01:32 INFO mapred.JobClient: 14/06/15 22:01:32 INFO mapred.JobClient:

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 应用文书 > 解决方案

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号© 2020-2023 www.taowenge.com 淘文阁