首页 > 其他分享 >MapReduce的排列和序列化的学习

MapReduce的排列和序列化的学习

时间:2023-10-05 15:46:12浏览次数:30  
标签:排列 自定义 -- 代码 MapReduce 泛型 序列化 方法

1、概念和原理--结构化对象转换为字节流

2、编程流程(举例说明)

1、读取文件为键值对

<偏移量,文件内容>

2、Map阶段

3、排序

4、Reduce阶段

5、保存结果--使用TextOutputFormat类

3、代码编写

1、自定义类型和比较器--自定义命名为SortBean

并实现接口WritableComparable,还需要加上的泛型,然后重写相关方法:

然后根据文件中的数据类型进行变量定义:

并加上get和set方法,以及toString方法;

在write方法中实现序列化:

根据文件中数据类型的不同使用不同的函数方法写入:

在readFiles方法中实现反序列化:

在compareTo方法中定义比较器:

2、Mapper代码

自定义名称为SortMapper类,并继承于Mapper类,且加上相对应的泛型:

3、Reducer代码

自定义名称为SortReducer类,并继承于Reducer类,且加上相对应的泛型:

4、主类代码编写JobMain

标签:排列,自定义,--,代码,MapReduce,泛型,序列化,方法
From: https://www.cnblogs.com/liuzijin/p/17742815.html

相关文章

  • PHP反序列化 字符逃逸
    产生条件:需要存在两个可控点给的"正则匹配"或过滤存在改变字符数量的规则利用方法:先找到两个可控点,进行简单的序列化输出,以便进行比对找到序列化值中可控点位置,并判断需要吞掉或挤掉的字符吞掉字符数:从第一个可控点的最后一个单引号或双引号吞到第二个可控点的第一个单......
  • 映射和序列化
    映射数据库映射(ORM):将数据库表和对象模型之间进行映射,方便开发人员进行对象操作和数据库访问。优点是可以简化数据库操作、提高开发效率,缺点是对于复杂查询和性能要求较高的场景可能会有性能问题。适用于大部分需要与数据库打交道的应用场景。关系映射:将关系型数据库中的表和......
  • MapReduce分区的学习
    1、概念和原理同一个分区的数据会发送给同一个reduce;可以简单解释为————标记一样,放到一个reduce里面:2、代码编写步骤(以中奖编号是否>15进行分区)1、定义Mapper可以自定义名称为PartitionMapper,并继承Mapper类:并重写map方法:2、自定义partitioner可以自定义名称为MyPa......
  • MapReduce运行模式
    1、yarn集群运行先将之前写好的MapReduce程序进行打包--Maven-->package;打包完成之后的jar包在target目录下可以找到!!!之后将jar包上传到我们的虚拟机文件夹里面去;之后输入命令:hadoopjarjar包名称jar包主类的全路径名称回车之后开始运行;在hdfs的浏览器界面(9870)能够找到......
  • MapReduce学习二之WordCount案例
    一、案例概述1、第一步--变成偏移量的K1,V1(这一步不需要我们自己写)2、进入Map阶段输出新的<K2,V2>的键值对;3、Shuffle阶段分区、排序、规约、分组输出新的键值对:4、Reduce阶段转换为<K3,V3>的新的形式的键值对;利用TextOutputFormat的类实现结果的输出;二、具体实践1......
  • MapReduce学习一
    1、相关介绍--分而治之MapReduce分布在Yarn集群2、设计构思(以wordcount为例)第一步-->读取文件,读取为键值对类型,偏移量,该行的内容;第二步(Map阶段)-->转换成为另一种键值对模式,单词,1;第三步(Suffle阶段)-->转换成另一种键值对模式,单词,<有几个这个单词,便有几个1用逗号隔开>;第四步......
  • MapReduce和Spark读取HBase快照表
    1.概述随着大数据技术的不断发展,处理海量数据的需求变得愈发迫切。MapReduce作为一种分布式计算模型,为处理大规模数据提供了有效的解决方案。在这篇博客中,我们将探讨如何使用MapReduce框架读取快照表(SnapshotTable)的数据。快照表是一种记录某一时刻系统状态的表格,通过MapReduce......
  • 《Java编程思想第四版》学习笔记32--关于static字段的序列化
    //:CADState.java//Savingandrestoringthestateofa//pretendCADsystem.importjava.io.*;importjava.util.*;abstractclassShapeimplementsSerializable{publicstaticfinalintRED=1,BLUE=2,GREEN=3;privateintxPos,yPos,dimension;p......
  • python中实现数字的全排列
     001、假定数字为3[root@pc1test1]#lstest.py[root@pc1test1]#cattest.py##测试程序#!/usr/bin/envpython3#-*-coding:utf-8-*-foriinrange(1,4):forjinrange(1,4):ifj==i:continue......
  • [洛谷]-5825排列计数-欧拉数、NTT
    目录边界对称性递推形式容斥https://www.luogu.com.cn/problem/P5825题意:我们记一个排列P的升高为\(k\)当且仅当存在\(k\)个位置\(i\)使得\(P_i<P_{i+1}\)。给定排列长度\(n\),对于所有整数\(k\in[0,n]\),求有多少个排列的升高为\(k\),\(1\leqn\leq2\times10^5\)......