- 博客(17)
- 资源 (2)
- 收藏
- 关注
原创 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 1102
原创 hadoop编程(7)-MapReduce案例:使用TotalOrderPartitioner完成全局排序
上一章我们用自定义的分区器完成了数据的全局排序,这一章我们将利用hadoop框架提供的API完成同样的功能。主要参考《Hadoop权威指南》第九章。
2017-10-28 14:39:24 599
原创 hadoop编程(6)-MapReduce案例:Partitioner应用实例——全局排序
默认的HashPartitioner是按hashcode来对key分区的,这会导致数值接近的key无规律散落在各桶中,从而无法做到全局有序。因此我们需要自定义分区器,让桶与桶之内的元素整体有序(桶0整体<桶1整体……<桶29整体)。具体实现在文中,为配合分区算法,我们事先需要求得最大和最小值(因为有负数)。本例实现方式的问题在于:关键值key的数值并非均匀分布在30个桶内,这将导致reduce任务不均衡,
2017-10-28 00:24:04 798
原创 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 372
原创 hadoop编程(4)-MapReduce案例:求每一年的最高温度
本文以最简洁的方式还原《Hadoop权威指南》一书中第一个MapReduce程序,便于后续继续深入了解MapReduce的能力。
2017-10-22 16:13:04 2938
原创 hadoop编程(3)-MapReduce案例:文本去重
本文介绍一个MapReduce案例,对数据集的所有文本行进行去重,以加强对MapReduce-API和工作机制的理解。
2017-10-21 18:35:10 845
原创 hadoop概念(3)-MapReduce各个执行阶段及Shuffle过程详解
MapReduce各个执行阶段(1)MapReduce框架使用InputFormat模块做Map前的预处理,比如验证输入的格式是否符合输入定义;然后,将输入文件切分为逻辑上的多个InputSplit,InputSplit是MapReduce对文件进行处理和运算的输入单位,只是一个逻辑概念,每个InputSplit并没有对文件进行实际切割,只是记录了要处理的数据的位置和长度。(2)因为InputSpl
2017-10-21 16:51:30 10537 1
原创 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 559
原创 hadoop概念(1)-了解MapReduce
MapReduce是什么?MapReduce是一种编程范式,可以利用集群环境的成千上万台服务器实现强大的可伸缩性。MapReduce一次最早源于函数式编程,由Google在一篇名为“MapReduce:Simplified Data Processing on Large Clusters”的文章中率先提出。使用MapReduce范式时,重点是编写两个函数:map()过滤和聚集
2017-10-19 16:22:11 923 1
原创 hadoop编程(2)-准备编程和本地测试环境
作为开发人员,我们可以暂时忽略集群等部署环境,首要关注开发环境。本文介绍一种可在IDE上运行\调试MapReduce程序的方法,方便程序员尽快开始大数据编程。
2017-10-19 15:12:43 518
原创 打造可监控的线上应用dropwizard-metrics
本文介绍一个非常好用的应用监控工具框架,大名鼎鼎的dropwizard之metrics。
2017-10-07 00:22:57 2761
原创 Spring容器扩展点之BeanFactoryPostProcessor
带你了解Spring容器扩展点之BeanFactoryPostProcessor。
2017-10-05 23:36:34 304
原创 阿里巴巴Java开发手册重点解读(一)
编程规约-OOP规约-8【强制】关于基本数据类型与包装数据类型的使用标准如下: 1) 所有的 POJO 类属性必须使用包装数据类型。 2) RPC 方法的返回值和参数必须使用包装数据类型。 3) 所有的局部变量【推荐】 使用基本数据类型。 这些类型的对象常作为查询对象或者结果对象,基本数据类型的默认值都是0,而引用类型的默认值为null。在拼接sql时或者显示结果时,null有明确的含义,
2017-10-01 18:46:34 2009
原创 CLH锁的机制与实现
了解CLH的机制并简单实现,为学习AbstractQueuedSynchronizer打下基础。我们大致了解AQS是jdk实现各种内置同步器(ReentrantLock、CountDownLatch、Semaphore、CyclicBarrier)的基础,也是我们想要自定义同步器需要借助的工具,也知道AQS的内部实现机制是CLH锁。现在我们就先了解了解CLH的机制和简单实现。
2017-10-01 13:33:00 684
oracle database 10g administration workshop II.rar
2009-05-08
Oracle Database 10g Administration Workshop I.rar
2009-05-08
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人