整套大数据学习资料(视频+笔记)百度网盘无门槛下载:http://www.edu360.cn/news/content?id=3377

 分类:hadoop

第9章 构建Hadoop集群

本章介绍如何在一个计算机集群上构建Hadoop系统。尽管在单机上运行 HDFS和MapReduce有助于学习这些系统,但是要想执行一些有价值的工作,必须在多节点系统上运行。 有多个选择来获得一个Hadoop集群,从建立一个专属集群,到在租借的硬 件设备上运行Hadoop...

112℃ 0评论

8.5. MapReduce 库类

Hadoop还为mapper和reducer提供了一个包含了常用函数的库。表8-8简要描述了这些类。如需了解详细用法,可参考相关Java文档。 表 8-8. MapReduce 库的类     类名称 描述 ChainMapper, Cha...

69℃ 0评论

8.4. 边数据分布

该程序通过气象站查找最高气温,因此mapper(StationTemperatureMapper)仅仅输出(气象站ID,气温)对。对于combiner,该程序重用MaxTemperatureReducer(参见第2章和第5章)来为map端的map输出分组获得最高气温。reduce...

45℃ 0评论

8.3.2. reduce 端连接

由于reduce端连接并不要求输入数据集符合特定结构,因而reduce端连接比map端连接更为常用。但是,由于两个数据集均需经过MapReduce的 shuffle过程,所以reduce端连瘘的效率往往要低一些。基本思路是mapper 为各个记录标记源,并且使用连接键作为ma...

59℃ 0评论

8.3.1. map端连接

在两个大规模输入数据集之间的map端连接会在数据到达map函数之前就执行连接操作。为达到该目的,各map的输入数据必须先分区并且以特定方式排序。各个输入数据集被划分成相同数量的分区,并且均按相同的键 (连接键)排序。同一键的所有记录均会放在同一分区之中。听起来似乎要求非常严格(...

55℃ 0评论

8.3. 连接

MapReduce能够执行大型数据集间的“连接” (join)操作,但是,自己从头编写相关代码来执行连接的确非常棘手。除了编写MapReduce程序,还可以考虑采用更髙级的框架,如Pig、Hive或Cascading等,它们都将连接操作视为整个实现的核心部分。 先简要地描述待解决...

47℃ 0评论

8.2.4. 辅助排序

MapReduce框架在记录到达reducer之前按键对记录排序,但键所对应的值并没有被排序。甚至在不同的执行轮次中,这些值的排序也不固定,因为 它们来自不同的map任务且这些map任务在不同轮次中的完成时间各不相 同。一般来说,大多数MapReduce程序会避免让reduce...

53℃ 0评论

7.3.5. 数据库输出

写到关系数据库和HBase的输出格式可以参见7.2.5节。 转载请注明:全栈大数据 » 7.3.5. 数据库输出...

109℃ 0评论

7.3.4. 延迟输出

FileOutputFormat的子类会产生输出文件(part-r-nnnnn),即使文件是空的。有些应用倾向于不创建空文件,此时LazyOutputFormat就有用武之地了。它是一个封装输出格式,可以保证指定分区第一条记录输出时才真正创建文件。要使用它,用JobConf和相...

74℃ 0评论

8.2.3. 全排序

如何用Hadoop产生一个全局排序的文件?最简单的方法是使用一个分区(a single partition)。但该方法在处理大型文件时效率极低,因为一台机器必须处理所有输出文件,从而完全丧失了MapReduce所提供的并行架构的优势。 事实上仍有替代方案:首先,创建一系列排好序的...

59℃ 0评论

7.3.3. 多个输出

FileOutputFormat及其子类产生的文件放在输出目录下。每个reducer—个文件并且文件由分区号命名:part-r-00000,part-r-00001,等等。有时可能需要对输出的文件名进行控制或让每个reducer输出多个文件。Mapreduce为此提供了Multi...

39℃ 0评论

7.3.2. 二进制输出

3.2.1. 关于SequenceFileOutputFormat 正如名字所示,SequenceFileOutputFormat将它的输出写为一个顺序文件。如果输出需要作为后续MapReduce任务的输入,这便是一种好的输出格式,因为它的格式紧凑,很容易被压缩。压缩...

34℃ 0评论

7.3.1. 文本输出

默认的输出格式是TextOutputFormat,它把每条记录写为文本行。它的键和值可以是任意类型,因为TextOutputFormat调用toString()方法把它们转换为字符串。每个键/值对由制表符进行分隔,当然也可以设定 mapreduce.output.tex...

34℃ 0评论

7.3. 输出格式

针对前一节介绍的输入格式,Hadoop都有相应的输出格式。 OutputFormat类的层次结构如图7-4所示。   图7-4. OutputFormat类的层次结构 转载请注明:全栈大数据 » 7.3. 输出格式...

34℃ 0评论

7.2.5. 数据库输入(和输出)

DBInputFormat这种输入格式用于使用JDBC从关系数据库中读取数据。因为它没有任何共享能力,所以在访问数据库的时候必须非常小心,在数据库中运行太多的mapper读数据可能会使数据库受不了。正是由于这个原因,DBInputFormat最好用于加载小量的数据集,如果需要与来...

40℃ 0评论