上一页 1 ··· 7 8 9 10 11 12 13 14 15 ··· 18 下一页
摘要: 具有选择性(适合sum,max,不适合avg) 1.做优化:前提是不影响最终结果; a.实现map端到reduce端减少数据网络传输(网络IO) b.减少map Task数据输出(磁盘IO) 2.combine其实是Reduce,combine的输出作为reduce的输入 3.疑问:添加combin 阅读全文
posted @ 2018-07-28 12:05 Coding_Now 阅读(337) 评论(0) 推荐(0) 编辑
摘要: 俗称:洗牌 InputFormat-->InputSplit-->map函数(mapper)-->环形缓冲区-->partition(分区)-->sort(排序)-->spill to disk(溢写至磁盘)-->merge(合并)-->存储在maptask节点的本地(本地存储)-->fetch(通 阅读全文
posted @ 2018-07-28 11:45 Coding_Now 阅读(379) 评论(0) 推荐(0) 编辑
摘要: 1. 定义 partititon控制按值分区,并作为map输出的中间产物。键(或键的子集)用于派生分区,通常由哈希函数;分区的总数与reduce任务的数量相同。reduce的数量决定分区数;默认采用的是HashPartititon分区,当reduce个数为1时,采用的不是哈希分区,而是底层自定义的分 阅读全文
posted @ 2018-07-28 10:48 Coding_Now 阅读(287) 评论(0) 推荐(0) 编辑
摘要: InputFormat抽象类源码解析 0.做两件事:【进行逻辑切分InputSplit;创建RecordReader】 1.抽象方法:List<InputSplit> getSplits(JobContext context) 说明:逻辑地分割作业的输入文件集-->InputSplit。然后将每个I 阅读全文
posted @ 2018-07-01 19:11 Coding_Now 阅读(198) 评论(0) 推荐(0) 编辑
摘要: Mapper类源码解析 1.来自[org.apache.hadoop.mapreduce.Mapper<KEYIN, VALUEIN, KEYOUT, VALUEOUT>] 2.java Doc说明: Map将输入数据<k,v>转换成中间数据集<k,v> map将为输入的数据的每一个记录(行)执行m 阅读全文
posted @ 2018-06-30 19:36 Coding_Now 阅读(305) 评论(0) 推荐(0) 编辑
摘要: BlockLocation代码跟踪 1.client-->[DistributedFileSystem.class]fs.getFileBlockLocations -->[DistributedFileSystem.class]fs.getFileBlockLocations(重载) -->[DF 阅读全文
posted @ 2018-06-30 19:30 Coding_Now 阅读(264) 评论(0) 推荐(0) 编辑
摘要: hadoop 1.组成:common,hdfs,mapreduce,yarn 2.hadoop集群搭建:3种【搭建流程】 3.hdfs shell命令 4.hdfs体系结构:主从节点{namenode,datanode,secondarynamenode}都是守护进程而非节点:【官网结构图】 fsi 阅读全文
posted @ 2018-06-30 19:25 Coding_Now 阅读(228) 评论(0) 推荐(0) 编辑
摘要: 1.{hadoop.tmp.dir}:/tmp/hadoop-{user.name} 修改路径到当前用户目录下: /home/lyxy/tmp/hadoop 注意:格式化的含义-->创建dfs/name/fsimage和edits文件,针对namenode守护进程的。 开启namenode守护进程失 阅读全文
posted @ 2018-06-26 13:55 Coding_Now 阅读(18989) 评论(0) 推荐(0) 编辑
摘要: 线程池:java语言为我们提供了一个管理线程的类型ExecutorService。 概念:创建多个线程,集合到一起就是线程池。 作用:自动创建线程,重用线程。 当创建大量的线程时,在线程结束后会有内存开销,线程的频繁切换也会造成大量的开销,很容易系统崩溃,所以设计了线程池。 线程池对象为我们提供了固 阅读全文
posted @ 2018-06-16 10:46 Coding_Now 阅读(151) 评论(0) 推荐(0) 编辑
摘要: String对象是字符串常量,不可变的,底层是用final修饰的,public final class String。 我们经常做的字符串+运算,这样是一种不可取的做法,因为String的对象是常量。 比如String s = "123",s=s+"45",它不是在原来的s上做的操作,而是又重新创建 阅读全文
posted @ 2018-06-16 10:10 Coding_Now 阅读(155) 评论(0) 推荐(0) 编辑
上一页 1 ··· 7 8 9 10 11 12 13 14 15 ··· 18 下一页