随笔分类 -  mapreduce

摘要:在map阶段读取数据前,FileInputFormat会将输入文件分割成split。split的个数决定了map的个数。影响map个数(split个数)的主要因素有: 1) 文件的大小。当块(dfs.block.size)为128m时,如果输入文件为128m,会被划分为1个split;当块为256m 阅读全文
posted @ 2016-07-16 16:33 刘超★ljc 阅读(7682) 评论(3) 推荐(0) 编辑
摘要:对于简单的分析程序,我们只需一个MapReduce就能搞定,然而对于比较复杂的分析程序,我们可能需要多个Job或者多个Map或者Reduce进行计算。下面我们来说说多个Job或者多个MapReduce的编程形式 MapReduce的主要有以下几种编程形式 1、迭代式MapReduce MapRedu 阅读全文
posted @ 2016-06-11 12:09 刘超★ljc 阅读(1190) 评论(2) 推荐(2) 编辑
摘要:默认情况下,Map输出的结果会对Key进行默认的排序,但是有时候需要对Key排序的同时还需要对Value进行排序,这时候就要用到二次排序了。下面我们来说说二次排序 1、二次排序原理 我们把二次排序分为以下几个阶段 Map起始阶段 在Map阶段,使用job.setInputFormatClass()定 阅读全文
posted @ 2016-06-08 00:56 刘超★ljc 阅读(11664) 评论(3) 推荐(10) 编辑
摘要:在关系型数据库中Join是非常常见的操作,各种优化手段已经到了极致。在海量数据的环境下,不可避免的也会碰到这种类型的需求,例如在数据分析时需要从不同的数据源中获取数据。不同于传统的单机模式,在分布式存储下采用MapReduce编程模型,也有相应的处理措施和优化方法。 我们先简要地描述待解决的问题。假 阅读全文
posted @ 2016-05-26 09:27 刘超★ljc 阅读(2863) 评论(3) 推荐(2) 编辑
摘要:1、MapReduce计数器是什么? 计数器是用来记录job的执行进度和状态的。它的作用可以理解为日志。我们可以在程序的某个位置插入计数器,记录数据或者进度的变化情况。 2、MapReduce计数器能做什么? MapReduce 计数器(Counter)为我们提供一个窗口,用于观察 MapReduc 阅读全文
posted @ 2016-05-23 22:12 刘超★ljc 阅读(10013) 评论(0) 推荐(3) 编辑
摘要:Combiner和Partitioner是用来优化MapReduce的,可以提高MapReduce的运行效率。下面我们来具体学习这两个组件 Combiner 我们以WordCount为例,首先通过下面的示意图直观的了解一下Combiner的位置和作用 从上图可以看出,Combiner介于 Mappe 阅读全文
posted @ 2016-05-09 09:30 刘超★ljc 阅读(1638) 评论(0) 推荐(2) 编辑
摘要:文件是 MapReduce 任务数据的初始存储地。正常情况下,输入文件一般是存储在 HDFS 里面。这些文件的格式可以是任意的:我们可以使用基于行的日志文件, 也可以使用二进制格式,多行输入记录或者其它一些格式。这些文件一般会很大,达到数十GB,甚至更大。那么 MapReduce 是如何读取这些数据 阅读全文
posted @ 2016-04-22 21:52 刘超★ljc 阅读(1573) 评论(0) 推荐(2) 编辑
摘要:Hadoop中的MapReduce是一个使用简单的软件框架,基于它写出来的应用程序能够运行在由上千个机器组成的大型集群上,并且以一种可靠容错并行处理TB级别的数据集。 一个MapReduce作业(job)通常会把输入的数据集切分为若干独立的数据块,由Map任务并行处理它们。框架会对map函数的输出先 阅读全文
posted @ 2016-04-20 14:21 刘超★ljc 阅读(2043) 评论(0) 推荐(1) 编辑

点击右上角即可分享
微信分享提示