摘要:
二次排序,从字面上可以理解为在对key排序的基础上对key所对应的值value排序,也叫辅助排序。一般情况下,MapReduce框架只对key排序,而不对key所对应的值排序,因此value的排序经常是不固定的。但是我们经常会遇到同时对key和value排序的需求,例如Hadoop权威指南中的求一年 阅读全文
摘要:
Hadoop排序,从大的范围来说有两种排序,一种是按照key排序,一种是按照value排序。如果按照value排序,只需在map函数中将key和value对调,然后在reduce函数中在对调回去。从小范围来说排序又分成部分排序,全局排序,辅助排序(二次排序)等。本文介绍如何在Hadoop中实现全局排 阅读全文
摘要:
排序在很多业务场景都要用到,今天本文介绍如何借助于自定义Partition类实现hadoop部分排序。本文还是使用java和python实现排序代码。 1、部分排序。 部分排序就是在每个文件中都是有序的,和其他文件没有关系,其实很多业务场景就需要到部分排序,而不需要全局排序。例如,有个水果电商网站, 阅读全文
摘要:
在工作中一直使用余弦相似度算法计算两段文本的相似度和两个用户的相似度。一直弄不明白多维的余弦相似度公式是怎么推导来的。今天终于花费时间把公式推导出来,其实很简单,都是高中学过的知识,只是很多年没用了,都还给老师了。本文还通过一个例子演示如果使用余弦相似度计算两段文本的相似度。 余弦函数在三角形中的计 阅读全文
摘要:
本文来自8月11日在北京举行的 Flink Meetup会议,分享来自于施晓罡,目前在阿里大数据团队部从事Blink方面的研发,现在主要负责Blink状态管理和容错相关技术的研发。 本文主要内容如下: 有状态的流数据处理; 有状态的流数据处理; Flink中的状态接口; Flink中的状态接口; 状 阅读全文
摘要:
上一篇我们学习了MapReduce的原理,今天我们使用代码来加深对MapReduce原理的理解。 wordcount是Hadoop入门的经典例子,我们也不能免俗,也使用这个例子作为学习Hadoop的第一个程序。本文将介绍使用java和python编写第一个MapReduce程序。 本文使用Idea2 阅读全文
摘要:
一致性Hash算法。 Hash算法是为了保证数据均匀的分布,例如有3个桶,分别是0号桶,1号桶和2号桶;现在有12个球,怎么样才能让12个球平均分布到3个桶中呢?使用Hash算法的做法是,将12个球从0开始编号,得到这样的一个序列:0,1,2,3,4,5,6,7,8,9,10,11。将这个序列中的每 阅读全文
摘要:
Hadoop是什么? Hadoop是一个处理海量数据的开源框架。2002年Nutch项目面世,这是一个爬取网页工具和搜索引擎系统,和其他众多的工具一样,都遇到了在处理海量数据时效率低下,无法存储爬取网页和搜索网页时产生的海量数据的问题。2003年谷歌发布了一篇论文,专门介绍他们的分布式文件存储系统G 阅读全文
摘要:
本文主要介绍如何使用Jword生成本地word文档,这里涉及到Jword的使用技巧,本文给出相应的代码,需要的朋友可以参考下。为什么使用Jword呢?因为IText 、Freemark在安卓平台上压根不好使呗!首先,Jword的网址:[Jword的网址](http://http://www.inde... 阅读全文
摘要:
Storm是一个Android SQLite数据库管理类库,可以通过注解创建表和迁移数据库。它不是ORM框架。特性:1、通过@Annotations创建表;2、通过@Annotations迁移数据库;3、接近于原生的SQLiteinsert、update、select操作的执行速度;4、不需要手工解... 阅读全文