`
tenght
  • 浏览: 51841 次
社区版块
存档分类
最新评论
文章列表
在指南第三版中直接用MRUnit来做单元测试。 MRUnit是由Couldera公司开发的专门针对 Hadoop中编写MapReduce单元测试的框架,基本原理是JUnit4和 EasyMock。MR就是Map和Reduce的缩写。MRUnit框架非常精简,其核心的单元测试依赖于JUnit。而且MRUnit实现了一套 Mock对象来控制OutputCollector的操作,从而可以拦截OutputCollector的输出,和我们的期望结果进行比较,达到自动断言 的目的。 有了MRUnit,对MR程序做重构的时候,只要明确输入和输出,就可以写出单元测试,并且在放到群集校验前进行试验,从而节省时 ...
MapFile即是已经排好序的SequenceFile,已加入用于搜索键的索引。 MapFile是排序后的SequenceFile,通过观察其目录结构可以看到MapFile由两部分组成,分别是data和index。即: 集群上文件:“hdfs://master:9000/mapfile/numbers.map/data” “hdfs://master:9000/mapfile/numbers.map/index” data即数据文件中包含所有需要存储的key-value对,按key的顺序排列。 index作为文件的数据索引,主要记录了每个Record的key值,以及该Record在文 ...
SequenceFile文件是Hadoop用来存储二进制形式的key-value对而设计的一种平面文件(Flat File)。目前,也有不少人在该文件的基础之上提出了一些HDFS中小文件存储的解决方案,他们的基本思路就是将小文件进行合并成一个大文件,同时对这些小文件的位置信息构建索引。不过,这类解决方案还涉及到Hadoop的另一种文件格式——MapFile文件。SequenceFile文件并不保证其存储的key-value数据是按照key的某个顺序存储的,同时不支持append操作。 在SequenceFile文件中,每一个key-value被看做是一条记录(Record),因此基于Rec ...
在上一篇中,用到了hadoop的compression codecs组件(gzip,还另有:zlib,lzo),其中,gzip和lzo压缩编解码器必须使用hadoop本地库才能运行,如果没有配置好,则会报以下错误: 13/08/09 23:28:49 WARN util.NativeCodeLoader: Unable to load native-hadoop library for your platform... using builtin-java classes where applicable 鉴于性能问题以及某些Java类库的缺失,对于某些组件,Hadoop提供了自己的本地实现 ...
第四章中提到了通过CompressionCodec对streams进行压缩和解压缩,并提供了示例程序: 输入:标准输入流 输出:压缩后的标准输出流 原示例程序: // cc StreamCompressor A program to compress data read from standard input and write it to standard output import org.apache.hadoop.conf.Configuration; import org.apache.hadoop.io.IOUtils; import org.apache.hadoop. ...
步骤1:安装VMware Tools工具 (1)在启动LINUX 虚拟机之后,在WMWare 的菜单栏中点击“VM”(虚拟机M)",然后在下拉菜单中会弹出“InstallVMWare-TOOLS"(安装VMWare-TOOLS")选项,点击安装。 (2)进入LINUX虚拟机的界面,运行“系统终端”[root@localhost ~]# rpm -ivh /mnt/cdrom/VMwareTools-5.0.0-13124.i386.rpm 按回车 (文件名有可能不同,/mnt/cdrom 目录下找到文件名,或者安装自己挂载的光驱找到相应的文件) (3)会出安装 ...
一、例3-3的read实现: package com.tht.hdfs; //cc FileSystemDoubleCat Displays files from a Hadoop filesystem on standard output twice, by using seek import java.net.URI; import org.apache.hadoop.conf.Configuration; import org.apache.hadoop.fs.FSDataInputStream; import org.apache.hadoop.fs.FileSystem; i ...
1、执行hadoop中的wordcount,得出一结果。 2、对于某个指定单词在ubuntu中的文件所在目录下执行:grep 指定单词 所有统计文件|wc 实际上就是linux/unix平台的ls指令: A、 ls | grep filename 查询文件名包含filename 的文件(这其实就是一个map,找到需要的数据) B、 ls | grep filename | wc -l 计算上述指令查询文件个数(这其实就是一个reduce,对找到数据进行汇总聚合) 又如SQL中的select 语句:
位于org.w3c.dom操作XML会比较简单,就是将XML看做是一颗树,DOM就是对这颗树的一个数据结构的描述,但对大型XML文件效果可能会不理想 DocumentBuilderFactory如其名,java的命名往往代表了很详细的意义,所以他就是DocumentBuilder的一个工厂,可以生产DocumentBuilder对象,同理DocumentBuilder就是Doucument的builder啦,就可以根据需求去解析已有xml文件(parse)或者创建新的document文件(newDocument)。 首先来了解点Java DOM 的 API: 1.解析器工厂类: ...
3.3 小结 本章涉及了org.apache.hadoop.io包下最重要的两部分内容:序列化和压缩。 序列化广泛应用于分布式数据处理中,是交换数据必备的能力。Hadoop没有使用Java内建的序列化机制,而是引入了紧凑、快速、轻便和可扩展的Writable接口。Writable接口通过write()和readFields()方法声明了序列化和反序列化的功能。在此基础上,分析了Writable的一些典型子类的实现,包括Java基本类型对应的Writable封装和ObjectWritable,它们为用户使用Hadoop提供了很多方便。 压缩是org.apache.hadoop ...
3.2 压缩 一般来说,计算机处理的数据都存在一些冗余度,同时数据中间,尤其是相邻数据间存在着相关性,所以可以通过一些有别于原始编码的特殊编码方式来保存数据,使数据占用的存储空间比较小,这个过程一般叫压缩。和压缩对应的概念是解压缩,就是将被压缩的数据从特殊编码方式还原为原始数据的过程。 压缩广泛应用于海量数据处理中,对数据文件进行压缩,可以有效减少存储文件所需的空间,并加快数据在网络上或者到磁盘上的传输速度。在Hadoop中,压缩应用于文件存储、Map阶段到Reduce阶段的数据交换(需要打开相关的选项)等情景。
《Hadoop技术内幕:深入解析Hadoop Common和HDFS架构设计与实现原理》第3章序列化与压缩,本章涉及了org.apache.hadoop.io包下最重要的两部分内容:序列化和压缩。本节为大家介绍序列化。 第3章 序列化与压缩 传统的计算机系统通过I/O操作与外界进行交流,Hadoop的I/O由传统的I/O系统发展而来,但又有些不同,Hadoop需要处理P、T级别的数据,所以在org.apache.hadoop.io包中包含了一些面向海量数据处理的基本输入输出工具,本章会对其中的序列化和压缩进行研究。 3.
2.4 小结 配置系统是复杂软件必不可少的一部分,作为Hadoop Common部分介绍的第一个组件,org.apache.hadoop.conf.Configuration在Hadoop各个子项目中发挥着重要的作用。本章从Windows和基于Java Properties配置文件开始,分析了Hadoop使用的基于健–值对构成的、结构相对简单的XML配置文件,以及相应的处理类Configuration,特别是Configuration类中的资源加载、资源合并和属性扩展等比较重要的处理过程。 Hadoop配置信息处理是学习Hadoop源代码的一个很好的起点。
2.3 Configurable接口 Configurable是一个很简单的接口,也位于org.apache.hadoop.conf包中,其类图如图2-3所示。
2.2 Hadoop Configuration详解 Hadoop没有使用java.util.Properties管理配置文件,也没有使用Apache Jakarta Commons Configuration管理配置文件,而是使用了一套独有的配置文件管理系统,并提供自己的API,即使用org.apache.hadoop.conf.Configuration处理配置信息。 2.2.1 Hadoop配置文件的格式 Hadoop配置文件采用XML格式,下面是Hadoop配置文件的一个例子:
Global site tag (gtag.js) - Google Analytics