大数据-三

  传统的文本分析使用的linux中的awk文本分析,但是只是单线程的,要使速度变快,就要考虑多线程,如果考虑到每年的数据量大小不一样,并导致线程长短将会不一致,所以将其数据分成若干相同大小的块,然后进行分布式计算,最后合并处理,统计结果;从这里变引入了mapreduce;

maper函数过程将数据进行清洗,除去无关的数据,提取有关的有价值数据,生成基本的map类型的数据,然后再进行统计和整理归类等,形成完整有价值数据组,再通过reducer函数过程进行具体的分析处理,得到最终结果集;

map函数,reduce函数,和job相关代码来运行作业map函数由maper类来实现表示,后者声明一个map()虚方法;mapper类是一个泛型类,有四个形参,分别指map函数的输入键,输入值,输出键,输出值的类型;也就是输入一个map(key,value),然后输出一个处理过的map(key,value)比如输入一个(序号,长文本)输出一个(名称,数值);hadoop本身提供了一套可优化的网络序列化传输的基本类型;而不是直接使用java的内嵌类型;这些类型都在org.apache.hadoop.io中;

reduce也有四个形参,map的输出类型要和reduce的输入类型匹配;

job对象制定作业规范,我们可以用它来控制整个作业的运行;要在hadoop集群上运行作业时,要将代码打成jar包,不必明确指明jar文件类型;在job对象中的setJarByClass()方法中传递一个类即可,hadoop利用这个类来查找包含他的jar包进而找到相关的jar包;还要再job对象中指定输入输出路径;

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值