摘要:一、shuffle阶段数据的压缩机制 ### Hadoop当中支持的额压缩算法 ~~~ 数据压缩有两大好处,节约磁盘空间,加速数据在网络和磁盘上的传输!! ~~~ 我们可以使用bin/hadoop checknative 来查看我们编译之后的hadoop支持的各种压缩, ~~~ 如果出现openss
阅读全文
摘要:一、[InputFormat机制之自定义InputFormat] ### 自定义InputFormat ~~~ HDFS还是MapReduce,在处理小文件时效率都非常低,但又难免面临处理大量小文件的场景, ~~~ 此时,就需要有相应解决方案。可以自定义InputFormat实现小文件的合并。 ##
阅读全文
摘要:一、[InputFormat机制之自定义outputFormat]:OutputFormat ### OutputFormat ~~~ OutputFormat:是MapReduce输出数据的基类, ~~~ 所有MapReduce的数据输出都实现了OutputFormat抽象类。 ~~~ 下面我们介
阅读全文
摘要:一、MapReduce读取和输出数据:InputFormat ### InputFormat ~~~ 运行MapReduce程序时,输入的文件格式包括:基于行的日志文件、二进制格式文件、 ~~~ 数据库表等。那么,针对不同的数据类型,MapReduce是如何读取这些数据的呢? ### InputFo
阅读全文
摘要:一、MR reduce端Join分析: ### MR reduce端Join分析: ~~~ [Map端join_实现分析] ~~~ [Map端join_代码实现] ~~~ [Map端join_程序验证] ~~~ # 缺点: ~~~ 这种方式中,join的操作是在reduce阶段完成,reduce端的
阅读全文
摘要:一、数据倾斜解决方案 ### 什么是数据倾斜? ~~~ 数据倾斜无非就是大量的相同key被partition分配到一个分区里, ### 现象 ~~~ 绝大多数task执行得都非常快,但个别task执行的极慢。甚至失败! ### 通用解决方案: ~~~ 对key增加随机数。 二、编程代码:创建项目:s
阅读全文
摘要:一、分区排序(默认的分区规则,区内有序) ~~~ 分区排序(默认的分区规则,区内有序) ~~~ [shuffle机制详解之GroupingComparator分组] ### GroupingComparator ~~~ GroupingComparator是mapreduce当中reduce端的一个
阅读全文
摘要:一、MR reduce端join ### MR reduce端join ~~~ [Reduce端Join需求分析] ~~~ [Reduce端Join-Mapper&Bean对象] ~~~ [Reduce端Join-Reducer&Driver实现] ~~~ [Reduce端Join-程序验证] ##
阅读全文
摘要:一、[MapReduce原理剖析之自定义分区案例]:MapReduce中的Combiner:combiner运行机制: ### MapReduce中的Combiner:combiner运行机制: ~~~ Combiner是MR程序中Mapper和Reducer之外的一种组件 ~~~ Combiner
阅读全文
摘要:一、[Shutffle机制详解之全排序|分区排序]:MapReduce中的排序 ### 排序是MapReduce框架中最重要的操作之一。 ~~~ MapTask和ReduceTask均会对数据按照key进行排序。该操作属于Hadoop的默认行为。 ~~~ 任何应用程序中的数据均会被排序,而不管逻辑.
阅读全文
摘要:一、编程实现步骤 ### 创建项目:partition ### Mapper package com.yanqi.mr.partition; import org.apache.hadoop.io.LongWritable; import org.apache.hadoop.io.Text; imp
阅读全文
摘要:一、切片机制源码阅读 ~~~ [MapReduce原理剖析之切片机制源码解读] ~~~ [MapReduce原理剖析之ReduceTask工作机制] ### MapTask并行度是不是越多越好呢? ~~~ 默认就是128M; ~~~ 答案不是,如果一个文件仅仅比128M大一点点也被当成一个split
阅读全文
摘要:一、MapReduce原理剖析之自定义分区及ReduceTask数量 ### MapReduce原理剖析之自定义分区及ReduceTask数量 ~~~ [MapReduce原理剖析之自定义分区及ReduceTask数量] ~~~ [MapReduce原理剖析之自定义分区案例] ### MapRedu
阅读全文
摘要:一、MapTask运行机制详解:MapTask流程 ### MapReduce原理分析 ~~~ [MapReduce原理分析之MapTask运行机制] ~~~ [MapReduce原理分析之MapTask并行度] ### 详细步骤: ~~~ 首先,读取数据组件InputFormat(默认TextIn
阅读全文
摘要:一、序列化Writable接口 ~~~ [MapRedice之writable序列化接口] ~~~ [MapRedice之writable序列化接口案例part01] ~~~ [MapRedice之writable序列化接口案例part02] ~~~ [MapRedice之writable序列化接口
阅读全文
摘要:一、运行任务 ### 本地模式 ~~~ 直接运行会报错:因为没有设置传参 ~~~ 直接Idea中运行驱动类即可:idea运行需要传入参数: ~~~ IDEA.Driver传参:WORDCOUNTDRIVER——>edit configuration ~~~ 在program arguments设置参
阅读全文
摘要:一、MapReduce编程规范及示例编写 ### Mapper类 ~~~ 用户自定义一个Mapper类继承Hadoop的Mapper类 ~~~ Mapper的输入数据是KV对的形式(类型可以自定义) ~~~ Map阶段的业务逻辑定义在map()方法中 ~~~ Mapper的输出数据是KV对的形式(类
阅读全文
摘要:一、WordCount代码实现 ~~~ [WordCount案例之编写Mapper类] ~~~ [WordCount案例之Reducer类] ~~~ [WordCount案例之Driver类] ~~~ [WordCount案例之本地验证] ~~~ [WordCount案例之运行YARN集群] ###
阅读全文
摘要:一、MapReduce编程框架 ### MapReduce思想 ~~~ MapReduce思想在生活中处处可见。我们或多或少都曾接触过这种思想。 ~~~ MapReduce的思想核心是分而治之, ~~~ 充分利用了并行处理的优势。 ~~~ 即使是发布过论文实现分布式计算的谷歌也只是实现了这种思想,而
阅读全文
摘要:NO: Walter Savage Landor:strove with none,for none was worth my strife.Nature I loved and, next to Nature, Art:I warm'd both hands before the fire of
阅读全文