Hadoop3.x | 二十五、shuffle机制之Partition

[toc]Map方法之后,Reduce方法之前的数据处理过程称之为Shuffle。一、Partition分区1. 问题引出要求将统计结果按照条件输出到不同文件中(分区)。比如:将统计结果按照手机归属地不同省份输出到不同文件中(分区)2. 默认Partitioner分区public class Has


Hadoop3.x | 二十四、Mapreduce流程map阶段CombineTextInputFormat 案例实操

[toc]本案例为小文件合并为一个maptask进程,进行处理。当然这也是处理小文件的一个解决方案!一、CombineTextInputFormat 案例实操1. 需求将输入的大量小文件合并成一个切片统一处理。输入数据准备 4 个小文件期望期望一个切片处理 4 个文件2. 编写代码编写mapper代


Hadoop3.x | 二十三、Mapreduce流程map阶段InputFormat

[toc]本篇主题,探讨和测试的对象为maptask阶段一、先区分一个小区别分块HDFS存储系统中,引入了文件系统的分块概念(block),块是存储的最小单位,HDFS定义其大小为64MB。与单磁盘文件系统相似,存储在 HDFS上的文件均存储为多个块,不同的是,如果某文件大小没有到达64MB,该文件


Hadoop3.x | 二十二、Mapreduce中bean对象序列化本地案例演示

[toc]一、需求分析1. 需求和结果对比统计每一个手机号耗费的总上行流量、总下行流量、总流量输入数据输入数据格式:7 13560436666120.196.100.991116 954200id手机号码网络ip上行流量 下行流量 网络状态码期望输出数据格式13560436666 1116


Hadoop3.x | 二十一、Mapreduce中bean对象序列化概述

[toc]一、什么是序列化?序列化是从一个对象(Object)转化为一个字节流(byte stream)的过程。而反序列化恰恰相反,是在内存中使用字节流构建一个确切的 Java 对象的过程。二、为什么要序列化?一般来说,“活的”对象只生存在内存里,关机断电就没有了。而且“活的”对象只能由本地的进程使


Hadoop3.x | 十九、Mapreduce概述

[toc]一、MapReduce定义MapReduce是一个分布式运算程序的编程框架,是用户开发“基于Hadoop的数据分析应用”的核心框架。MapReduce核心功能是将用户编写的业务逻辑代码和自带默认组件整合成一个完整的分布式运算程序,并发运行在一个Hadoop集群上。二、MapReduce优缺


Hadoop3.x | 十八、hdfs之DataNode

[toc]一、DataNode 工作机制一个数据块在 DataNode 上以文件形式存储在磁盘上,包括两个文件,一个是数据本身,一个是元数据包括数据块的长度,块数据的校验和,以及时间戳。 2. DataNode 启动后向 NameNode 注册,通过后,周期性(6 小时)的向NameNode 上报所


Hadoop3.x | 十七、hdfs之NameNode和SecondaryNameNode

[toc]一、NN和2NN工作机制1. NameNode中的元数据是存储在哪里的?首先,我们做个假设,如果存储在NameNode节点的磁盘中,因为经常需要进行随机访问,还有响应客户请求,必然是效率过低。因此,元数据需要存放在内存中。但如果只存在内存中,一旦断电,元数据丢失,整个集群就无法工作了。因此


Hadoop3.x | 十六、hdfs之读写流程

[toc]一、HDFS写数据流程1. 剖析文件写入数据写入流程客户端通过Distributed FileSystem模块向NameNode请求上传文件,NameNode检查目标文件是否已存在,父目录是否存在(权限认证)。NameNode返回是否可以上传。客户端请求第一个 Block上传到哪几个Dat