hadoop 培训MapReduce执行流程教学PPT课件.ppt
文本预览下载声明
再论JobTracker(JT)和TaskTracker(TT) JobTracker:协作作业的运行 taskTracker:运行作业划分后的任务 Mapreduce原理 1)一个文件file.txt 2)存储file.txt文件 3) 统计file.txt文件里面”Refund”个数 JobTracker失败 1)JobTracker失败在所有的失败中是最严重的一种。 2)hadoop没有处理jobtracker失败的机制。--它是一个单点故障。 3)在未来的新版本中可能可以运行多个JobTracker。 4)可以使用ZooKeeper来协作JobTracker。 TaskTracker失败 1)一个TaskTracker由于崩溃或运行过于缓慢而失败,它会向JobTracker发送“心跳”。 2)如果有未完成的作业,JobTracker会重新把这些任务分配到其他的TaskTracker上面运行。 3)即使TaskTracker没有失败也可以被JobTracker列入黑名单。 mapreduce的类型与格式 Hadoop 0.20.x之前的API Hadoop的MapReduce中,map和reduce函数遵循如下常规格式: map: (K1, V1) → list(K2, V2) reduce: (K2, list(V2)) → list(K3, V3) Mapper的接口: public interface MapperK1, V1, K2, V2 extends JobConfigurable, Closeable { void map(K1 key, V1 value, OutputCollectorK2, V2 output, Reporter reporter) throws IOException; } Reduce的接口: public interface ReducerK2, V2, K3, V3 extends JobConfigurable, Closeable { void reduce(K2 key, IteratorV2 values, OutputCollectorK3, V3 output, Reporter reporter) throws IOException; } //outputCollector 是为了输出key/value对, //Reporter 是用来更新计数和状态信息。 Hadoop 0.20.x之后的API Hadoop的MapReduce中,map和reduce函数遵循如下常规格式: map: (K1, V1) → list(K2, V2) reduce: (K2, list(V2)) → list(K3, V3) Mapper的接口: protected void map(KEY key, VALUE value, Context context) throws IOException, InterruptedException { } Reduce的接口: protected void reduce(KEY key, IterableVALUE values, Context context ) throws IOException, InterruptedException { } //Context是上下文对象,这里Context等同于OutputCollector和Reporter两个函数的功能。 mapreduce的数据类型与java类型对应关系 Java的基本类型 Writable实现 boolean BooleanWritable byte ByteWritable int IntWritable float FloatWritable long LongWritable double DoubleWritable String Text Writable接口 1.对Java中的int型进行封装那么就是hadoop中的IntWritable类 在写程序时可以把IntWritable可以看着是int 类型,它实现 了WritableComparable接口。 WritableComparable又是Writable、parable接口的子接口。 2.Writable类对所有的Java基本类型进行封装:如:boolean - BooleanWritable;Byte - ByteWritable 3.
显示全部