mapreduce
文章平均质量分 62
筱白熊
这个作者很懒,什么都没留下…
展开
-
Hadoop多Job串联
Hadoop多Job串联使用场景复杂的业务逻辑单个mapreduce程序无法完成,需要多个mapreduce程序串联处理。例子多个数据文件,首先需要合并数据文件对合并后的数据文件进行业务处理实现思路多Job串联执行可以通过mapreduce框架的JobControl实现。案例Depend.javaimport org.apache.hadoop.mapreduce.Job;import org.apache.hadoop.mapreduce.lib.jobcontrol.Contr原创 2021-03-21 17:24:54 · 318 阅读 · 0 评论 -
Hadoop高效执行ToolRunner
Hadoop高效执行ToolRunner使用ToolRunner的原因关于 MapReduce 运行和参数配置的缺点将 MapReduce Job 配置参数写到 java 代码里,一旦变更意味着修改 java 文件源码、编译、打包、部署一连串事情。当 MapReduce 依赖配置文件的时候,需要手工编写 java 代码使用 DistributedCache 将其上传到 HDFS 中,以便 map 和 reduce 函数可以读取。当使用map 或 reduce 函数依赖第三方 jar 文件时,在命原创 2021-03-21 15:59:54 · 557 阅读 · 0 评论 -
Hadoop自定义组件Combiner
Hadoop自定义组件CombinerCombiner组件介绍Combiner是一个特殊的Reduce组件 ,它处于Mapper和Reduce中间的一种组件,Combiner组件的父类就是Reducer.Combiner和Reducer之间的区别在于运行的位置 ,Reducer是每一个接收全局的Map Task 所输出的结果,Combiner一般是在MapTask的节点中运行.combiner每一个map都会产生大量的本地输出,Combiner的作用就是对map输出的结果先做一次合并,以较少的m原创 2021-03-19 17:35:14 · 327 阅读 · 0 评论 -
Hadoop自定义分组排序
Hadoop自定义分组排序使用场景分组聚合统计查询众数平均数最大值最小值极值方差标准差实现步骤分组继承WritableComparator接口重写compare()方法必须重写父类的构造器,并且传入当前分组排序对象排序Java Bean实现WritableComparable接口重写compareTo()方法案例案例分析 订单Id相同则视为同一个订单,分组聚合后计算每个订单的总金额。继承WritableComparator接口,重写compare原创 2021-03-19 16:54:04 · 325 阅读 · 0 评论 -
Hadoop自定义分区
Hadoop自定义分区Hadoop组件partition简介partition的作用是将mapper输出的key/value划分成不同的partition。每个reducer对应一个partition。默认情况下,partitioner先计算key的散列值(hash值)。然后通过reducer个数执行取模运算: key.hashCode%(reducer个数)。这样能够随机地将整个key空间平均分发给每个reducer,同时也能确保不同 mapper产生的相同key能被分发到同一个reducer。原创 2021-03-19 15:53:47 · 527 阅读 · 0 评论 -
Hadoop 计数器
Hadoop 计数器计数器简介 计数器是用来记录job的执行进度和状态的。它的作用可以理解为日志。我们可以在程序的某个位置插入计数器,记录数据或者进度的变化情况,因为有时候程序如果是多线程的,那么就不容易调试,计数器也可以认为是程序的调试. 在实际生产代码中,常常需要将数据处理过程中遇到的不合规数据行进行全局计数,类似这种需求可以借助mapreduce框架中提供的全局计数器来实现 MapReduce 自带了许多默认Counter,如输入的字节数、输出的字节数、原创 2021-03-18 17:18:09 · 606 阅读 · 0 评论 -
Hadoop多文件合并
Hadoop多文件合并文件合并map的小表联大表合并使用场景;只适用于两个文件,并且一个大文件另一个小文件reducer 多文件合并实现思路map在job对象添加缓存文件,在mapper程序中读取缓存文件,在mapper端完成数据合并reduce在mapper端获取文件名识别文件,设置文件编号,输出key为连接条件,value为bean;在reducer端遍历value的bean,通过bean的文件编号提取属性,合并所有属性,输出数据,完成数据合并。原创 2021-03-20 22:38:51 · 1025 阅读 · 0 评论 -
Hadoop 序列化
Hadoop 序列化Hadoop序列化机制序列化简介序列化序列化就是把内存中的对象,转换成字节序列(或其他数据传输协议)以便于存储(持久化)和网络传输。反序列化反序列化就是将收到字节序列(或其他数据传输协议)或者是硬盘的持久化数据,转换成内存中的对象。Hadoop序列化机制的起源 Hadoop涉及到大量的数据(在Java中就是对象)的传输(IO),并且网络带宽稀缺,因此使用序列化机制迫不及待,序列化就是把内存中的对象转化成二进制流进行传输。数据序列化的要求有四个(紧凑原创 2021-03-18 21:00:53 · 937 阅读 · 0 评论 -
Hadoop 命令
Hadoop 命令hadoop 启动命令命令功能start-dfs.sh启动HDFS服务start-yarn.sh启动Yarn服务start-all.sh集群模式启动所有服务,执行后会启动HDFS服务和Yarn服务hadoop 命令[root@hadoop ~]# hadoop -helpUsage: hadoop [--config confdir] [COMMAND | CLASSNAME] CLASSNAME run the原创 2021-03-18 15:45:19 · 880 阅读 · 0 评论 -
Hadoop环境搭建
Hadoop环境搭建Hadoop简介HDFS工作机制组件介绍NameNodeNameNode用于存储、生成文件系统的元数据。运行一个实例。SecondaryNameNodeSecondaryNamenode是Namenode的一个热备,合并NameNode的edit logs到fsimage文件中。DataNodeDataNode用于存储实际的数据,将自己管理的数据块上报给NameNode ,运行多个实例。Yarn工作机制组件介绍1. ResourceM原创 2021-03-21 13:29:45 · 204 阅读 · 0 评论