• 2024-09-20Hadoop-MapReduce的 原理 | 块和片 | Shuffle 过程 | Combiner
    MapReduce的原理简单版本:AppMaster:整个Job任务的核心协调工具MapTask:主要用于Map任务的执行ReduceTask:主要用于Reduce任务的执行一个任务提交Job-->AppMaster(项目经理)-->根据切片的数量统计出需要多少个MapTask任务-->向ResourceManager(Yarn平台的老大)索要
  • 2024-09-19Hadoop(十八)MapReduce Shuffle机制
    MapReduce工作流程上面的流程是整个MapReduce最全工作流程,但是Shuffle过程只是从第7步开始到第16步结束,具体Shuffle过程详解,如下:MapTask收集map()方法输出的kv对,放到内存缓冲区中从内存缓冲区不断溢出本地磁盘文件,可能会溢出多个文件多个溢出文件会被合并成大的溢出文件在
  • 2024-09-19Hadoop(十七)MapReduce 切片机制 InputFormat
    切片与MapTask并行度决定机制MapTask的并行度决定Map阶段的任务处理并发度,进而影响到整个Job的处理速度数据块:Block是HDFS物理上把数据分成一块一块,数据块是HDFS存储数据单位数据切片:数据切片只是在逻辑上对输入进行分片,并不会在磁盘上将其切分成片进行存储,数据切片是MapReduc
  • 2024-07-21MapReduce执行流程
    执行流程MapTask执行流程Read:读取阶段MapTask会调用InputFormat中的getSplits方法来对文件进行切片切片之后,针对每一个Split,产生一个RecordReader流用于读取数据数据是以Key-Value形式来产生,交给map方法来处理。每一个键值对触发调用一次map方法Map:映射阶段map方法在获
  • 2024-05-223/24MapReduce面试必看
    本质上是三个进程运行,一个maptask一个reducetask 一个MR程序写程序 添加依赖后,mapperreducer driveryarn集群的配置为了实现数据落盘和网络传输还要进行序列化和反序列化,本质就是将各个结构体里的基本数据类型一一传递 实现writable接口顺序要一致输入和输出基本
  • 2024-03-20MapReduce执行流程
    MapReduce执行流程MapTask执行流程Read:读取阶段MapTask会调用InputFormat中的getSplits方法来对文件进行切片切片之后,针对每一个Split,产生一个RecordReader流用于读取数据数据是以Key-Value形式来产生,交给map方法来处理。每一个键值对触发调用一次map方法Map:映射阶
  • 2023-11-25Hive学习路线-优化
    十、优化1.数据倾斜maptask和reducetask的个数1.1maptask的个数:文件的大小、文件的个数、集群上blocksize的大小问题:小文件过多的问题(maptask并不是越多越好)在map执行前进行合并,减少maptask的个数//配置文件修改配置<property><name>hive.
  • 2023-05-29hadoop序列化相关问题
    什么时候需要使用序列化?需要在不同服务器传递内存数据时,用序列化。序列化后的所有属性需要再反序列化,那么有先后顺序反序列化吗?有的,比如序列化的属性有abc则反序列化的属性必须是cabc数据切片一般为数据块的倍数,为什么?一般一个数据切片对应启动一个maptask任务,可以保证
  • 2023-05-22MapReduce和Yarn原理
    MapReduce原理 问题1.什么是计算,什么是分布式计算?答案:计算指的是从海量数据中提取出有效的价值信息的过程(广义上解释),狭义上指的是1+1=2即:数学运算.分布式计算指的是多台机器协调,共同完成同1个计算任务.问题2:分布式计算的两种模式?答案:分散汇
  • 2023-04-20hadoop 源码分析
     先贴一张hadoop的部分类图 如图所示,组要的过程都在LocalJobRunable的内部类Job中,主要当然是map/reduce(MapTask和ReduceTask)。 1.TaskSplitMetaInfo把job分解为几个task,并返回task头信息 2.MapTask中    计算maptask数量  运行map-- 遍历执行task将mapper循环