Hadoop之MapReduce实战(二)

作者: 云计算机网 分类: 云计算知识 发布时间: 2016-08-02 01:22
MapReduce的老api写法
import org.apache.hadoop.fs.Path;import org.apache.hadoop.mapred.FileInputFormat;import org.apache.hadoop.mapred.FileOutputFormat;import org.apache.hadoop.mapred.JobClient;import org.apache.hadoop.mapred.JobConf;/** *  author liuyazhuang */public class HelloWorldApp {public static void main(String[] args) throws Exception {final JobConf job = new JobConf(HelloWorldApp.class);FileInputFormat.setInputPaths(job, new Path("/input"));FileOutputFormat.setOutputPath(job, new Path("/output"));JobClient.runJob(job);}}
MapReduce获取命令行参数

/** *  author liuyazhuang */public class CacheFileApp extends Configured implements Tool{public static void main(String[] args) throws Exception {ToolRunner.run(new Configuration(), new CacheFileApp(), args);  }@Overridepublic int run(String[] args) throws Exception {//..............................        Path in = new Path(args[0]);  Path out = new Path(args[1]);            //..............................}}

计数器

hadoop计数器:可以让开发人员以全局的视角来审查程序的运行情况以及各项指标,及时做出错误诊断并进行相应处理。

内置计数器(MapReduce相关、文件系统相关和作业调度相关)

... 

也可以通过http://master:50030/jobdetails.jsp查看

Helloyou, hello me的计数器信息
Counters: 19   File Output Format Counters      Bytes Written=19//reduce输出到hdfs的字节数   FileSystemCounters     FILE_BYTES_READ=481     HDFS_BYTES_READ=38     FILE_BYTES_WRITTEN=81316     HDFS_BYTES_WRITTEN=19   File Input Format Counters      Bytes Read=19//map从hdfs读取的字节数   Map-Reduce Framework     Map output materialized bytes=49     Map input records=2  //map读入的记录行数     Reduce shuffle bytes=0     Spilled Records=8     Map output bytes=35     Total committed heap usage (bytes)=266469376     SPLIT_RAW_BYTES=105     Combine input records=0     Reduce input records=4//reduce从map端接收的记录行数     Reduce input groups=3//reduce函数接收的key数量,即归并后的k2数量     Combine output records=0     Reduce output records=3//reduce输出的记录行数     Map output records=4//map输出的记录行数
自定义计数器与实现

Context类调用方法getCounter()

计数器声明

1.通过枚举声明

context.getCounter(Enum enum)

2.动态声明

context.getCounter(String groupName,StringcounterName)

计数器操作

counter.setValue(long value);//设置初始值

counter.increment(longincr);//增加计数
Combiners编程

每一个map可能会产生大量的输出,combiner的作用就是在map端对输出先做一次合并,以减少传输到reducer的数据量。

  • 电脑在使用之后会随着时间变化运行速度就会变得越来越慢,这主要是因为留下了一些缓存或是一些垃圾文件所以就导致电脑运行速度变慢。这时候就需要对磁盘进行清理了,那么你知道磁盘清理的作用是什么吗?

      电脑在使用之后会随着时间变化运行速度就会变得越来越慢,这主要是因为留下了一些缓存或是一些垃圾文件所以就导致电脑运行速度变慢。这时候就需要对磁盘进行清理了,那么你知道磁盘清理的作用是什么吗?

      由于硬盘被划分成一个一个簇,然后里头分成各个扇区,文件的大小不同,在储存的时候系统会搜索最相应的大小,久而久之在文件和文件之间会形成一些碎片,较大的文件也可能被分散存储,产生碎片以后,在读取文件时需要更多的时间和查找,从而减慢操作速度,对硬盘也有一定损害,因此我们一般会定期进行一次磁盘清理。

      磁盘清理很简单,最简单的就是从“开始-所有程序-附件-系统工具-磁盘碎片整理工具”,然后选择需要清理的磁盘即可,如下图:

    Win7磁盘清理

      另外还值得一提的是,使用较久的电脑会产生各种系统垃圾,也会导致速度变慢,通常大家习惯于定期清理系统垃圾,虽然对于保持系统性能帮助不少,但普通的清理垃圾不能整理磁盘碎片,因此清理磁盘是一种比较好的实现硬盘加速方法,因此也是电脑提升性能比较可取的方法。

      因此我们只要知道,磁盘清理的最大目的就是提升硬盘性能速度,另外对于硬盘保护也有一定关系,不过不建议频繁进行磁盘清理,过于频繁也会对磁盘产生一些负面影响,一般半年到一年左右清理一次就足够了。

      以上就是小编为大家介绍磁盘清理的作用,你明白了吗?

  • 相关推荐:

  • 磁盘清理的作用
  • 京东618电脑数码榜风起云
  • 当当网卖身:英雄迟暮,
  • 有益于NAS的技术之二:文
  • VMware终端用户计算模式变
  • Unix与Linux之间的差异不可
  • 云计算从服务到公共资源
  • “京条计划”之下惊现京
  • 老司机专享丨“猎时行动
  • “河南百所高校走进景安
  • 网站内容禁止违规转载,转载授权联系中国云计算网