Mahout版本:0.7,hadoop版本:1.0.4,jdk:1.7.0_25 64bit. 本篇开始之前先来验证前篇blog的分析结果,编写下面的测试文件来进行对上篇三个job的输出进行读取: package mahout.fansy.item; import java.io.IOException; import java.util.Map; import org.apache.hadoop.io.Writable; import mahout.fansy.utils.read.ReadA…
Mahout版本:0.7,hadoop版本:1.0.4,jdk:1.7.0_25 64bit. 经过了SimilarityJob的计算共生矩阵后,就可以开始下面一个过程了,这个过程主要是共生矩阵的乘法,要说这个共生矩阵的乘法是啥意思?我也不是很清楚,不清楚就看代码呗. 首先明确共生矩阵,即共生矩阵的输入文件(也是上面个SimilarityJob的输出文件): similarityMatrix================= {102={101:0.14201473202245876,106:0…
Mahout版本:0.7,hadoop版本:1.0.4,jdk:1.7.0_25 64bit. 本篇分析上篇的分析是否正确,主要是编写上篇输出文件的读取以及添加log信息打印相关变量. 首先,编写下面的测试文件分析所有的输出: package mahout.fansy.item; import java.io.IOException; import java.util.Map; import mahout.fansy.utils.read.ReadArbiKV; import org.apach…
Mahout版本:0.7,hadoop版本:1.0.4,jdk:1.7.0_25 64bit. mahout算法源码分析之Collaborative Filtering with ALS-WR 这个算法的并行主要就应该是ParallelALSFactorizationJob这里的并行了,下图是这个Job的大部分操作: 这里分析并行就是看每个job任务是否可以出现多个map或者reduce即可. (1)首先分析前面三个itemRatings,对应的输入是原始文件,如果原始文件很大的话,那么这个任务…
Mahout版本:0.7,hadoop版本:1.0.4,jdk:1.7.0_25 64bit. 首先来总结一下 mahout算法源码分析之Collaborative Filtering with ALS-WR (三),这个写了三篇,基本都是写QR分解,然后矩阵进过处理得到U或者M的过程,但是还是没有讲出个所以然来.mahout官网上说其是根据这篇文献得来的Large-scale Parallel Collaborative Filtering for the Netflix Prize,本来我是想…
Mahout版本:0.7,hadoop版本:1.0.4,jdk:1.7.0_25 64bit. 额,好吧,心头的一块石头总算是放下了.关于Collaborative Filtering with ALS-WR这个算法中的那个QR分析,真心是太复杂了.以至于国庆后面三天基本都是在郁闷中过来的,想着自己的矩阵学的是有多差呀...后来算法验证弄懂之后才发觉,尼玛,java太坑爹了吧,矩阵求个逆,有那么复杂么!!! 下面来开始验证:首先应该获得了两个变量分别是Ai和Vi,如果这两个变量不知道是啥东西,可…
diff.js列表对比算法 源码分析 npm上的代码可以查看 (https://www.npmjs.com/package/list-diff2) 源码如下: /** * * @param {Array} oldList 原始列表 * @param {Array} newList 新列表 * @param {String} key 键名称 * @return {Object} {children: [], moves: [] } * children 是源列表 根据 新列表返回 移动的新数据,比…
一.前言 前面分析了SyncReqeustProcessor,接着分析请求处理链中最后的一个处理器FinalRequestProcessor. 二.FinalRequestProcessor源码分析 2.1 类的继承关系 public class FinalRequestProcessor implements RequestProcessor {} 说明:FinalRequestProcessor只实现了RequestProcessor接口,其需要实现processRequest方法和shut…
一.前言 前面分析了SyncReqeustProcessor,接着分析请求处理链中最后的一个处理器FinalRequestProcessor. 二.FinalRequestProcessor源码分析 2.1 类的继承关系 public class FinalRequestProcessor implements RequestProcessor {} 说明:FinalRequestProcessor只实现了RequestProcessor接口,其需要实现processRequest方法和shut…
该系列文档是本人在学习 Mybatis 的源码过程中总结下来的,可能对读者不太友好,请结合我的源码注释(Mybatis源码分析 GitHub 地址.Mybatis-Spring 源码分析 GitHub 地址.Spring-Boot-Starter 源码分析 GitHub 地址)进行阅读 MyBatis 版本:3.5.2 MyBatis-Spring 版本:2.0.3 MyBatis-Spring-Boot-Starter 版本:2.1.4 MyBatis的SQL执行过程 在前面一系列的文档中,我…