
++hadoop编程
文章平均质量分 78
小9
优秀是一种习惯
展开
-
hadoop编程(1)-单机环境、伪分布式环境配置
本文介绍Hadoop环境搭建和第一个MapReduce程序的运行。原创 2017-10-19 14:29:47 · 401 阅读 · 0 评论 -
hadoop编程(2)-准备编程和本地测试环境
作为开发人员,我们可以暂时忽略集群等部署环境,首要关注开发环境。本文介绍一种可在IDE上运行\调试MapReduce程序的方法,方便程序员尽快开始大数据编程。原创 2017-10-19 15:12:43 · 550 阅读 · 0 评论 -
hadoop编程(3)-MapReduce案例:文本去重
本文介绍一个MapReduce案例,对数据集的所有文本行进行去重,以加强对MapReduce-API和工作机制的理解。原创 2017-10-21 18:35:10 · 928 阅读 · 0 评论 -
hadoop编程(4)-MapReduce案例:求每一年的最高温度
本文以最简洁的方式还原《Hadoop权威指南》一书中第一个MapReduce程序,便于后续继续深入了解MapReduce的能力。原创 2017-10-22 16:13:04 · 3008 阅读 · 0 评论 -
hadoop编程(6)-MapReduce案例:Partitioner应用实例——全局排序
默认的HashPartitioner是按hashcode来对key分区的,这会导致数值接近的key无规律散落在各桶中,从而无法做到全局有序。因此我们需要自定义分区器,让桶与桶之内的元素整体有序(桶0整体<桶1整体……<桶29整体)。具体实现在文中,为配合分区算法,我们事先需要求得最大和最小值(因为有负数)。本例实现方式的问题在于:关键值key的数值并非均匀分布在30个桶内,这将导致reduce任务不均衡,原创 2017-10-28 00:24:04 · 839 阅读 · 0 评论 -
hadoop编程(5)-MapReduce案例:通过MinimalMapReduce进一步了解MR的机制
Mapper和Reducer中编写映射和归约的逻辑,而对Job的配置影响着框架如果执行作业。首先我们来了解下Job类的setter方法及含义。Configuration of MapReduce types in the new APIJob setter methodsetInputFormatClass():输入的数据的格式,默认为TextInputFormat,决定着如何对原始数据切片,也决定原创 2017-10-22 22:40:26 · 410 阅读 · 0 评论 -
hadoop编程(7)-MapReduce案例:使用TotalOrderPartitioner完成全局排序
上一章我们用自定义的分区器完成了数据的全局排序,这一章我们将利用hadoop框架提供的API完成同样的功能。主要参考《Hadoop权威指南》第九章。原创 2017-10-28 14:39:24 · 641 阅读 · 0 评论 -
hadoop编程(8)-MapReduce案例:次排序(Secondary Sort)详解
所谓次排序,是指在最终输出中key关联着一个排好序的value-list,例如这样的需求: /** * 按年份(月份)列出温度,温度升序排列<br> * 年-月 温度1,日期1 温度2,日期2 * 1990-1 -300,day:2 -200,day:1 */思路根据我们掌握的知识,我们知道在reduce之前,数据会按key进行归并,假设我们以年原创 2017-10-29 17:42:50 · 1158 阅读 · 0 评论 -
hadoop概念(2)-MapReduce数据流
数据流术语Job一个完整的MapReduce作业称作job,它包括三部分: - 输入数据 - MapReduce程序 - 配置信息 Hadoop工作时会将job分成若干个task:map任务和reduce任务。 The tasks are scheduled using YARN and run on nodes in the cluster. If a task fails, i原创 2017-10-21 13:03:50 · 594 阅读 · 0 评论