大数据hadoop入门案例–序列化+分区+排序
此博客作为本文学习hadoop大数据内容,内容可能存在不够全面或者存在偏差。
文章目录
1.定义
1.序列化:将内存中的对象转化为字节序列以便存储到磁盘和网络传输。
2.反序列化:将收到的字节序列或磁盘的持久化数据转换为内存中的对象。
3.切片:在逻辑上将数据分片,并没有在磁盘上切分。一个切片对应一个MapTask,有多少切片就执行多少个MapTask,类似于分布式处理数据,提升数据处理速度。一般切片大小等于blocksize。
- FileInputFormat切片机制:按照文件的内容长度进行切片,切片大小默认等于Block大小,切片时不考虑数据整体针对每一个文件单独切片。
- TextInputFormat:按行读取每条记录。键是存储该行在整个文件中的起始字节偏移量, LongWritable 类型。值是这行的内容,不包括任何行终止符(换行符和回车符),Text 类型。
- CombineTextInputFormat:用于小文件过多场景。当剩余数据大小超过设置的最大值且不大于最大值 2 倍,此时将文件均分成 2 个虚拟存储块
4.分区:要求将统计结果按照条件输出到不同文件中(分区)。调用几个ReduceTask输出几个不同的文件中。