大鱼

O ever youthful, O ever weeping.

深入理解Aho-Corasick自动机算法

0.前言 我总是对那些具有状态转移过程的算法,心怀敬意。 例如:递归、递推、动规、DAT 以及现在要说的 AC 自动机算法。 数学真是优美! —— 致那些牛逼到不行的数学家们 1.版权说明 商业转载请联系作者获得授权,非商业转载请注明出处。 ...

2015-10-24 13:04:39

阅读数 14597

评论数 5

SymmetricDS 完全配置安装手册

SymmetricDS 是一个基于 Java 的数据库同步框架。本文并不打算带你熟悉 SymmetricDS 的实现原理,只是从安装与配置入手,让你感受一下 SymmetricDS 运行效果。本文希望尽可能全面且细致地讲解配置过程,而不至于你按照本文的教程安装,出现无法使用的情况。以下是我在安装环...

2016-07-12 18:04:24

阅读数 6498

评论数 7

决策树之 C4.5 算法

由于 C4.5 算法是建立在 ID3 算法基础之上的,所以在讲解 C4.5 的时候,会有很多与 ID3 重合的内容,这里就不过多冗余地说明了。本文旨在阐明 ID3 存在的问题,以及 C4.5 的改进方案。

2016-07-06 16:42:54

阅读数 7814

评论数 9

决策树之 ID3 算法

ID3 算法是构建决策树算法中一种非常重要的算法,可以说它是学习决策树算法的基础吧。比如,下一篇博客要说的 C4.5 决策树,就是基于 ID3 上的一个改进算法。还有 CART、随机森林算法,都是后面要讲解的。

2016-07-06 13:05:54

阅读数 7384

评论数 2

MapReduce 应用:TF-IDF 分布式实现

本文要说的 TF-IDF 分布式实现,运用了很多之前 MapReduce 的核心知识点。算是 MapReduce 的一个小应用吧。

2016-06-24 00:29:45

阅读数 7185

评论数 3

MapReduce 进阶:Partitioner 组件

Partitioner 组件可以让 Map 对 Key 进行分区,从而将不同分区的 Key 交由不同的 Reduce 处理。如果这么说让你觉得有一些笼统的话,那么本文可能很适合你,因为本文会依据一个具体的实例进行讲解。

2016-06-21 23:47:47

阅读数 12214

评论数 0

Hadoop 核心编程之 HDFS 的文件操作

本文以代码为主,并附以简短的说明,帮助你理解代码的逻辑,以及一些注意事项。你可以将本文的代码封装成一个工具类,这样以后需要调用时候,就可以复用了。

2016-06-21 16:37:45

阅读数 3679

评论数 2

MapReduce进阶:多路径输入输出

当我们得意于 MapReduce 从一个数据输入目录,把数据经过程序处理之后输出到另一个目录时。可能你正在错过一些更好的方案,因为 MapReduce 是支持多路径的输入与输出的。比如,你一个项目中的多个 Job 产生了多个输出路径,后面又需要另一个 Job 去处理这些不路径下的数据。你要怎么办?...

2016-06-18 21:29:50

阅读数 4842

评论数 0

MapReduce进阶:多MapReduce的链式模式

我们不可能一直沉浸在 WordCount 的成功运行当中,就像之前学习 Java 或是其他编程语言不会着迷于 HelloWord 一样。前面的 WordCount 程序只有一个 Mapper 和一个 Reducer 参与,也就是说只有一个 Job 参与。而一个 Job 在通常情况下是无法满足实际的...

2016-06-18 16:20:50

阅读数 3325

评论数 0

排序算法系列:基数排序

今天要说的这个排序算法很特殊,它不需要直接对元素进行相互比较,也不需要将元素相互交换,你需要做的就是对元素进行“分类”。这也是基数排序的魅力所在,基数排序可以理解成是建立在“计数排序”的基础之上的一种排序算法。在实际项目中,如果对效率有所要求,而不太关心空间的使用时,我会选择用计数排序(当然还有一...

2016-06-16 23:14:07

阅读数 38839

评论数 9

从 WordCount 到文档的倒排索引详解

在很多大数据的应用场景中我们都有可能看到倒排索引的身影,我第一次接触倒排索引是在学习 Lucene 全文检索框架的时候。本文会从倒排索引开始说明,再补充讲解倒排索引文档及带权重的倒排索引文档。

2016-06-13 18:10:13

阅读数 9215

评论数 0

HBase Shell 的基本操作

前面写了一些 Hadoop, Zookeeper 及 Hbase 分布式环境搭建的文章。或许你在搭建的过程中遇到了一些不如意的事情,但我相信总是可以解决的。如果你已经完成了环境的搭建,那么就可以尽情玩耍了。

2016-06-12 15:10:45

阅读数 4742

评论数 0

HBase 0.98 分布式集群安装详解

这篇博客应该很早就发表了,只是当时环境搭建好了之后没有及时做笔记,后来又不想重新搭建,所以才拖到今天。还有就是这篇博客安装的是 Hbase-0.98 的版本,与之前说要安装 0.96 的说明不吻合,这里统一说明,之前的博客就不更改了。还有一点就是,本文的安装过程很顺,没有出现什么启动不了,或是运行...

2016-06-08 00:02:00

阅读数 5034

评论数 0

Java 设计模式——状态模式

很多人在说状态模式的时候总拿策略模式来进行对比,可能他们的类图会有一点类似,可我却不认为他们有多么相像。你可以阅读《Java设计模式——策略模式》这篇博客,并与本文对比,以找到蛛丝马迹。 他们最根本的差异在于策略模式是在求解同一个问题的多种解法,这些不同解法之间毫无关联;状态模式则不同,状态模式...

2016-06-06 16:46:00

阅读数 12146

评论数 2

Java 设计模式——外观模式

今天要说的外观模式是一个相对简单的设计模式,而且在日常的开发中,可能你也会时常使用它,只是你可能并未想过这是一个设计模式。本文会从一些实例着手,来对本文要说明的外观模式进行尽可能全面的讲解。希望于你有益。

2016-06-06 00:11:17

阅读数 4645

评论数 2

排序算法系列:归并排序算法

上一篇我们说了一个非常简单的排序算法——选择排序。其复杂程序完全是冒泡级的,甚至比冒泡还要简单。今天要说的是一个相对比较复杂的排序算法——归并排序。复杂的原因不仅在于归并排序分成了两个部分进行解决问题,而是在于,你需要一些算法的思想支撑。

2016-05-27 16:32:19

阅读数 16572

评论数 3

排序算法系列:选择排序算法

选择排序算法也需要将一个完整的序列切分成两个部分,一个部分有序,一个部分无序。这一点它和插入排序是一致的。在前面我们说插入排序是将第 [i + 1] 个元素插入到第一部分的有序序列中,如果你还有印象的话。那么在选择排序中则是第 j 个元素(i < j <= n),插入到第 i 个位置。

2016-05-24 17:20:39

阅读数 3105

评论数 0

ZooKeeper 3.4.5 分布式环境搭建详解

上一篇中,我们说到了关于 Hadoop-2.2.0 集群的搭建。在这个系列中,Zookeeper 是必不可少的。本文会介绍 Zookeeper-3.4.5 的安装,后面会介绍 HBase-0.96 的安装。希望于你有益。

2016-05-18 17:25:13

阅读数 6324

评论数 0

Java 设计模式——组合模式

有时我们可能会被要求处理一个层级结构明显的对象,比如上下级的公司员工、比如层级嵌套的文件夹,还有丰富多彩的美食菜单。可是,我们可能要屡试不爽地编写深度搜索代码、要小心翼翼地编写递归逻辑。现在你可以忘掉这些,学习一些新的技能,让你秒刷副本。

2016-05-17 17:39:45

阅读数 10424

评论数 0

从 WordCount 到 MapReduce 计算模型

虽然现在都在说大内存时代,不过内存的发展怎么也跟不上数据的步伐吧。所以,我们就要想办法减小数据量。这里说的减小可不是真的减小数据量,而是让数据分散开来。分开存储、分开计算。这就是 MapReduce 分布式的核心。

2016-05-10 23:42:47

阅读数 10546

评论数 0

提示
确定要删除当前文章?
取消 删除