自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

Mrknowledge

码虫手记

  • 博客(31)
  • 资源 (12)
  • 收藏
  • 关注

转载 [Hadoop源码解读](六)MapReduce篇之MapTask类

MapTask类继承于Task类,它最主要的方法就是run(),用来执行这个Map任务。  run()首先设置一个TaskReporter并启动,然后调用JobConf的getUseNewAPI()判断是否使用New API,使用New API的设置在前面[Hadoop源码解读](三)MapReduce篇之Job类 讲到过,再调用Task继承来的initialize()方法初始化这个task,

2014-02-27 11:36:21 771

转载 [Hadoop源码解读](五)MapReduce篇之Writable相关类

前面讲了InputFormat,就顺便讲一下Writable的东西吧,本来应当是放在HDFS中的。  当要在进程间传递对象或持久化对象的时候,就需要序列化对象成字节流,反之当要将接收到或从磁盘读取的字节流转换为对象,就要进行反序列化。Writable是Hadoop的序列化格式,Hadoop定义了这样一个Writable接口。[html] view plaincopyprint?

2014-02-27 11:31:56 796

转载 [Hadoop源码解读](四)MapReduce篇之Counter相关类

当我们定义一个Counter时,我们首先要定义一枚举类型:[html] view plaincopyprint?public static enum MY_COUNTER{    CORRUPTED_DATA_COUNTER,    NORMAL_DATA_COUNTER  };    然后,我们就可以在mapper或reducer里面增加它的值:

2014-02-27 11:25:10 1103

转载 [Hadoop源码解读](三)MapReduce篇之Job类

下面,我们只涉及MapReduce 1,而不涉及YARN。                                            当我们在写MapReduce程序的时候,通常,在main函数里,我们会像下面这样做。建立一个Job对象,设置它的JobName,然后配置输入输出路径,设置我们的Mapper类和Reducer类,设置InputFormat和正确

2014-02-27 11:24:03 720

转载 [Hadoop源码解读](二)MapReduce篇之Mapper类

前面在讲InputFormat的时候,讲到了Mapper类是如何利用RecordReader来读取InputSplit中的K-V对的。  这一篇里,开始对Mapper.class的子类进行解读。  先回忆一下。Mapper有setup(),map(),cleanup()和run()四个方法。其中setup()一般是用来进行一些map()前的准备工作,map()则一般承担主要的处理工

2014-02-27 11:07:46 918

转载 [Hadoop源码解读](一)MapReduce篇之InputFormat

平时我们写MapReduce程序的时候,在设置输入格式的时候,总会调用形如job.setInputFormatClass(KeyValueTextInputFormat.class);来保证输入文件按照我们想要的格式被读取。所有的输入格式都继承于InputFormat,这是一个抽象类,其子类有专门用于读取普通文件的FileInputFormat,用来读取数据库的DBInputFormat等等。

2014-02-27 10:28:56 826

转载 FileSystem类 文件读写及查看文件信息示例

在这一节我们要深入了解Hadoop的FileSystem类——这是与与hadoop的文件系统交互的重要接口。虽然我们只是着重于HDFS的实现,但我们在编码时一般也要注意代码在FileSystem不同子类文件系统之间的可移植性。这是非常有用的,比如说你可以非常方便的直接用同样的代码在你的本地文件系统上进行测试。使用hadoop URL读数据从hadoop文件系统中读取文件的最简单的方法之一便

2014-02-25 09:51:22 1994 2

转载 hadoop FileSystem使用示例

from:http://www.cnblogs.com/serendipity/archive/2011/07/28/2119857.htmlFileSystem是一个文件系统的实例,这个文件系统可以是hdfs,也可以是本地的文件系统 。一  获得hdfs的文件系统 String uri = "hdfs://10.0.0.134:9000"; Configurat

2014-02-25 09:29:01 1094

转载 hadoop简单实现文本数据全局排序

(1)、关于mapreducemapreduce很适合数据之间相关性较低且数据量庞大的情况,map操作将原始数据经过特定操作打散后输出,作为中间结果,hadoop通过shuffle操作对中间结果排序,之后,reduce操作接收中间结果并进行汇总操作,最后将结果输出到文件中,从这里也可以看到在hadoop中,hdfs是mapreduce的基石。可以用下面这幅图描述map和reduce的过程:

2014-02-24 14:30:20 2349

转载 MapReduce编程实例

MapReduce编程实例(六)前提准备:1.hadoop安装运行正常。Hadoop安装配置请参考:Ubuntu下 Hadoop 1.2.1 配置安装2.集成开发环境正常。集成开发环境配置请参考 :Ubuntu 搭建Hadoop源码阅读环境MapReduce编程实例:MapReduce编程实例(一),详细介绍在集成环境中运行第一个

2014-02-24 13:46:21 1404

转载 hadoop shuffle机制中针对中间数据的排序过程详解(源代码级)

在所有公开资料中,很少有对Hadoop 中间数据的sort过程进行详细介绍的。如果想要深入了解hadoop对中间数据的排序机制,只有通过阅读源代码才能达到。而hadoop的这段代码本身具有非常大的迷惑性,如果不注意细节,很容易会发生错误的理解。 本篇文章从原理上详细介绍了hadoop针对中间数据的排序机制,并且对一些重要的源代码段进行了介绍。阅读本文对理解该机制或者深入阅读该部分的hadoop源代

2014-02-21 17:32:39 985

转载 关于抽象类中构造函数的一些学习

子类在创建实例后,类初始化方法会调用父类的初始化方法(除了java.lang.Object类,因为java.lang.Object类没有父类),而这种调用会逐级追述,直到java.lang.Object的初始化方法。这个地方我说的是初始化方法,而不是构造方法,因为构造方法是相对于java源程序而言,而编译后的class文件是初始化方法即""方法(红色部分为方法名),初始化方法是由java源程序

2014-02-21 14:58:53 1523

转载 linux特殊符号大全

在shell中常用的特殊符号罗列如下:#   ;   ;;      .      ,       /       \       'string'|       !   $   ${}   $?      $$   $*  "string"*     **   ?   :   ^   $#   $@    `command`{}  []   [[]]   ()    (())  || 

2014-02-21 14:50:52 853

转载 Java日志 - 如何在项目中指定log4j.properties路径

方法一:在main函数中添加如下代码public class App { static final Logger logger = Logger.getLogger(App.class); public static void main( String[] args ) { PropertyConfigurator.configure("/abso

2014-02-21 14:30:42 11914 1

转载 Java日志 - slf4j和log4j合用的配置(Maven)

添加logger的日志输出,下面是配置信息供备忘步骤:1. 在Maven的porn.xml 文件中添加dependency如下[html] view plaincopydependency>      groupId>org.slf4jgroupId>      artifactId>slf4j-log4j12artifactId>      ver

2014-02-21 11:15:01 2177

转载 Java日志 - hibernate中为什么要额外配置slf4j

Question:hibernate中为什么要额外配置slf4j,是不是配置log4j也可以?Answer:slf4j.nop.jar是slf-api.jar其相应的接口实现,把slf的接口对到log4j的实现把slf的实现slf4j-nop-1.5.8.jar去掉,添加log4j的实现log4j-1.2.15.jar,再添加一个slf-api和log4j转换器slf4j-

2014-02-21 11:12:00 1448

转载 Java语言中ArrayList对象能直接赋值给另一个ArrayList对象

num1=num2是将num1的地址值指向num2,而num1原先的对象会被垃圾回收。但是在这里我想告诉你的是集合之间的复制方法:    方法一:ArrayList num2 = new ArrayList(num1);//利用集合自带的构造方法    方法二:ArrayList num2 =(ArrayList) num1.clone();//利用克隆的方法进行赋值。

2014-02-21 10:04:43 3910

转载 linux下查找某目录下所有文件包含某字符串的命令

从文件内容查找匹配指定字符串的行:$ grep "被查找的字符串" 文件名从文件内容查找与正则表达式匹配的行:$ grep –e “正则表达式” 文件名查找时不区分大小写:$ grep –i "被查找的字符串" 文件名查找匹配的行数:$ grep -c "被查找的字符串" 文件名从文件内容查找不匹配指定字符串的行:$ grep –v "被查找的字符串" 文件名从根目录开始查找所

2014-02-21 10:01:17 1272

转载 Hadoop中的各种排序

1:shuffle阶段的排序(部分排序)shuffle阶段的排序可以理解成两部分,一个是对spill进行分区时,由于一个分区包含多个key值,所以要对分区内的按照key进行排序,即key值相同的一串存放在一起,这样一个partition内按照key值整体有序了。第二部分并不是排序,而是进行merge,merge有两次,一次是map端将多个spill 按照分区和分区内的key进行merge,

2014-02-19 17:22:13 1266

转载 MapReduce数据流

MapReduce数据流(一)一个基本的MapReduce作业由那些基本组件组成,从高层来看,所有的组件在一起工作时如下图所示:图4.4高层MapReduce工作流水线  MapReduce的输入一般来自HDFS中的文件,这些文件分布存储在集群内的节点上。运行一个MapReduce程序会在集群的许多节点甚至所有节点上运行mapping任务,每一个mapping任务都是平等的:map

2014-02-19 15:20:56 1093

转载 TotalOrderPartitioner Cannot Find _partition.lst File

Question:I'm using the Cloudera's VM (cloudera-demo-vm-cdh3u3-vmware) to run theTotalOrderPartitioner class for a specific problem.When I run the code, it cannot find the _partition.lst file.

2014-02-19 14:35:47 1766 1

翻译 hadoop-mapreduce-without-reducer

指定MR任务的时候可以不指定reducer,这样的话,所有的mappers将输出写入到job指定的目录的时候,不会执行sorting和partioning。只需要设置reduces的个数为0。job.setNumReduceTasks(0);

2014-02-18 17:29:59 986

转载 MultipleOutputs(三)

一,介绍1,旧API中有 org.apache.hadoop.mapred.lib.MultipleOutputFormat和org.apache.hadoop.mapred.lib.MultipleOutputsMultipleOutputFormat allowing to write the output data to different output files.Multip

2014-02-17 13:21:25 918

转载 MultipleOutputs(二)

在使用Map-Reduce处理大量数据时,可能有些记录同别的记录不一样,比如这些记录是不符合规范的,可以简单丢弃这些数据。但是如果想保存这些出错的记录以分析错误的原因,这个时候就不太方便了,如果Hadoop提供一个分布式的日志系统就好了,直接使用API将这些错误的记录写入日志中。我先想到一个比较简单的方法,就是实现自己的partitioner,将错误的记录保存到最后一个分区文件中。代码如下所示:

2014-02-17 13:18:14 978

转载 MultipleOutputs(一) Renaming Part Files in Hadoop Map Reduce

Question:I have tried to use the MultipleOutputs class as per the example in page http://hadoop.apache.org/docs/mapreduce/r0.21.0/api/index.html?org/apache/hadoop/mapreduce/lib/output/MultipleOu

2014-02-17 12:07:23 1322

转载 The processing instruction target matching "[xX][mM][lL]" is n...

The processing instruction target matching "[xX][mM][lL]" is not allowed. Exception:org.xml.sax.SAXParseException: The processing instruction target matching "[xX][mM][lL]" is not allowed.这个异常解释

2014-02-14 13:08:49 1448

转载 About hadoop hdfs filesystem rename

Question:I am storing lots of data into hdfs. And I need to move the files from one folder to another.May I ask generally how much is the cost of filesystem's rename method?Say I have to move

2014-02-13 17:28:59 1553

转载 Hadoop Mapreduce multiple Input files

Question:So I need two files as an Input to my mapreduce program: City.dat and Country.datIn my main method im parsing the command line arguments like this:Path cityInputPath = new Path(args

2014-02-13 16:54:53 1886 3

转载 mapreduce框架详解

开始聊mapreduce,mapreduce是hadoop的计算框架,我学hadoop是从hive开始入手,再到hdfs,当我学习hdfs时候,就感觉到hdfs和mapreduce关系的紧密。这个可能是我做技术研究的思路有关,我开始学习某一套技术总是想着这套技术到底能干什么,只有当我真正理解了这套技术解决了什么问题时候,我后续的学习就能逐步的加快,而学习hdfs时候我就发现,要理解hadoop框架

2014-02-13 14:38:25 960

转载 How to sort an arbitrarily large set of data using Hadoop?

Question:My question is related to this post Sorting large data using MapReduce/Hadoop. My idea of sorting an arbitrarily set is:We have a large file with records, say 10^9 records.The fil

2014-02-08 13:34:54 824

转载 Linux添加/删除用户和用户组

本文总结了Linux添加或者删除用户和用户组时常用的一些命令和参数。1、建用户:adduser phpq                             //新建phpq用户passwd phpq                               //给phpq用户设置密码2、建工作组groupadd test                         

2014-02-07 16:56:24 641

Advanced Programming in the UNIX Environment

学习类unix系统开发的必备经典书籍,对unix环境及系统函数能有比较全面的了解

2018-05-13

DNS and BIND

详细讲述了DNS原理及介绍DIND及其实现,是学习DNS的必备书籍

2018-05-13

CephCookBook

本书高清请放心,ceph学习入门经典必读,作为学习、了解ceph,是必读的一本入门书籍,对ceph能有一个比较全的了解

2018-05-10

设计模式之禅

详细讲解23种设计模式,是开发者必备工具书籍之一。

2014-12-01

hulft入门手册

hulft FTP服务入门资料,对日开发中会用到这类FTP服务器

2013-12-19

JDK6中文API手册

JDK6中文API手册,学习、开发java程序必备的工具手册之一

2013-07-18

sqlserver函数库

好用的sqlserver数据库,函数库使数据库设计更方便

2009-04-02

网页特效库2006(javascript)

本书根据网页特效库网站制作而成,所收集特效分为背景特效,按钮特效,导航特效等八个类别,共198个,使用这些特效会让网站更精彩.希望学习前台页面脚背的人,这本书是快速入门的好教材.

2008-11-07

Mysql中文参考手册

MySQL有瑞典的T.c.X公司负责开发和维护,MySQL的用户手册很单纯,只有一个集中的<MySQL Reference Manual>,但其内容覆盖了MySQL的所有信息,因此该手册是了解和掌握MySQL的绝佳文献。

2008-11-07

Javascript完全手册

适合javascript初学者,对javascript的基础和深入都有全面的讲解,是国外作者写的一本好书

2008-11-07

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除