mapreduce
雪峰庙
努力奋斗
展开
-
hadoop中什么是slots
Slots是Hadoop的一个重要概念。然而在Hadoop相关论文,slots的阐述难以理解。网上关于slots的概念介绍也很少,而对于一个有经验的Hadoop开发者来说,他们可能脑子里已经理解了slots的真正含义,但却难以清楚地表达出来,Hadoop初学者听了还是云里雾里。我来尝试讲解一下,以期抛砖引玉。首先,slot不是CPU的Core,也不是memory chip,它是一个逻辑概念,一转载 2014-05-02 09:00:27 · 612 阅读 · 0 评论 -
hadoop中wordcount遍历子目录的情况
hadoop中的wordcount示例,只能统计一个目录下的所有文件的内容,但是如果目录中还有目录,怎么办呢?我实验了一下,不能计算目录中层级目录中的文件?转载 2014-05-29 14:15:20 · 1875 阅读 · 0 评论 -
wordcount出现错误Use GenericOptionsParser for parsing the arguments.
在yundong原创 2014-07-01 16:37:31 · 927 阅读 · 0 评论 -
mapreduce 多种输入
1.多路径输入1)FileInputFormat.addInputPath 多次调用加载不同路径FileInputFormat.addInputPath(job, new Path("hdfs://RS5-112:9000/cs/path1"));FileInputFormat.addInputPath(job, new Path("hdfs://RS5-112:9000/cs转载 2014-07-01 16:43:10 · 422 阅读 · 0 评论 -
用Hadoop实现KMeans算法
在我们阅读的时候,我们首先知道什么是KMeans:K-means算法是最为经典的基于划分的聚类方法,是十大经典数据挖掘算法之一。K-means算法的基本思想是:以空间中k个点为中心进行聚类,对最靠近他们的对象归类。通过迭代的方法,逐次更新各聚类中心的值,直至得到最好的聚类结果。虽然已经发展到了hadoop2.4,但是对于一些算法只要明白其中的含义,是和语言无关的,无转载 2014-06-29 11:27:55 · 1444 阅读 · 0 评论 -
MapReduce1-1: 提高MapReduce性能的七点建议
前言 Cloudera提供给客户的服务内容之一就是调整和优化MapReduce job执行性能。MapReduce和HDFS组成一个复杂的分布式系统,并且它们运行着各式各样用户的代码,这样导致没有一个快速有效的规则来实现优化代码性能的目的。在我看来,调整cluster或job的运行更像一个医生对待病人一样,找出关键的“症状”,对于不同的症状有不同的诊断和处理方式。转载 2014-05-21 09:27:58 · 329 阅读 · 0 评论 -
MapReduc:1-3:计算Job运行时的CPU与内存平均利用率
Hadoop集群上运行有多道MapReduce Job,到底每个Job消费集群计算资源(CPU,内存)的情况如何,通常我们是不知道的。这节来探讨下如果想获得这些信息,应该怎样做。 每个Job在运行时是散布在TaskTracker上,由不同的JVM来执行。所以这个问题归根结底就是想获取每个运行task的JVM对资源的消费情况。对于这种获取分布式环境数据的例子,就可以采用MapRe转载 2014-05-21 09:30:04 · 550 阅读 · 0 评论 -
MapReduce1-2:MapReduce任务的优化
MapReduce任务的优化相信每个程序员在编程时都会问自己两个问题“我如何完成这个任务”,以及“怎么能让程序运行得更快”。同样,MapReduce计算模型的多次优化也是为了更好地解答这两个问题。MapReduce计算模型的优化涉及了方方面面的内容,但是主要集中在两个方面:一是计算性能方面的优化;二是I/O操作方面的优化。这其中,又包含六个方面的内容。1. 任务调度转载 2014-05-21 09:29:00 · 1175 阅读 · 0 评论 -
mapreduce对key值排序问题
最近在学习MapReduce编程遇到很多用MR实现按某一列值排序,或二次排序的类似问题,于是试着用MR实现各种排序问题,最终有点小总结:无需在key对象之外写任何排序函数,MR会完成按key值排序,具体详解如下: 在这之前要先说一下WritableComparable接口。Writable接口大家可能都知道,它是一个实现了序列化协议的序列化对象。在Hadoop中定义一个结构化对象都要实现转载 2014-05-13 15:39:02 · 2318 阅读 · 0 评论 -
Hadoop MapReduce中如何处理跨行Block和inputSplit
Hadoop的初学者经常会疑惑这样两个问题:1.Hadoop的一个Block默认是64M,那么对于一个记录行形式的文本,会不会造成一行记录被分到两个Block当中?2.在把文件从Block中读取出来进行切分时,会不会造成一行记录被分成两个InputSplit,如果被分成两个InputSplit,这样一个InputSplit里面就有一行不完整的数据,那么处理这个InputSplit的Mapp转载 2014-05-13 14:55:31 · 588 阅读 · 0 评论 -
hadoop作业调优参数整理及原理
1 Map side tuning参数1.1 MapTask运行内部原理当map task开始运算,并产生中间数据时,其产生的中间结果并非直接就简单的写入磁盘。这中间的过程比较复杂,并且利用到了内存buffer来进行已经产生的部分结果的缓存,并在内存buffer中进行一些预排序来优化整个map的性能。如上图所示,每一个map都会对应存在一个内存buffer(MapOutputBuf转载 2014-05-10 09:55:10 · 371 阅读 · 0 评论 -
利用MapReduce计算框架实现谷歌(PR值)PageRank算法并行实现
1. PageRank算法分步式原理转载 2014-05-06 10:11:39 · 1370 阅读 · 0 评论 -
mapreduce的迭代 组合 链式
能够到这一步,说明已经对hadoop入门,并且产生问题。这个问题,似乎困惑了不少初学者。1.比如我们输出的mapreduce结果,需要进入下一个mapreduce,该怎么解决?可以使用迭代式2.那么什么是迭代式?3.什么是依赖式?4.什么是链式?5.三种模式各自的应用场景是什么?网上不少资料,但是对于新手,很难辨认,这里给大家指出这里面的关键点:转载 2014-05-03 16:37:15 · 698 阅读 · 0 评论 -
MapReduce中的分区方法Partitioner
在进行MapReduce计算时,有时候需要把最终的输出数据分到不同的文件中,比如按照省份划分的话,需要把同一省份的数据放到一个文件中;按照性别划分的话,需要把同一性别的数据放到一个文件中。我们知道最终的输出数据是来自于Reducer任务。那么,如果要得到多个文件,意味着有同样数量的Reducer任务在运行。Reducer任务的数据来自于Mapper任务,也就说Mapper任务要划分数据,对于不同的转载 2014-05-02 09:20:45 · 491 阅读 · 0 评论 -
MapReduce实现大矩阵乘法
引言何为大矩阵?Excel、SPSS,甚至SAS处理不了或者处理起来非常困难,需要设计巧妙的分布式方法才能高效解决基本运算(如转置、加法、乘法、求逆)的矩阵,我们认为其可被称为大矩阵。这意味着此种矩阵的维度至少是百万级的、经常是千万级的、有时是亿万级的。举个形象的栗子。至2012年12月底,新浪微博注册用户数超5亿,日活跃用户4629万[1],如果我们要探索这4000多万用户可以分成哪些类别,转载 2014-06-19 09:36:28 · 572 阅读 · 0 评论