云计算技术与应用——第九/十周:计算实例
流式计算
流式计算的核心:分发策略分流
策略一:增加分发节点的数量或者统计节点的数量
策略二:增加前序节点
策略三:随机分发或者发牌式分发
策略四:特定值分发
策略五:广播节点
策略六:同步节点
倒排索引
与正排相互对应。
正排:文章——单词——频率
倒排:单词——文章——频率
因为搜索的时候是根据单词进行搜索
文本相似度
第一步:倒排索引
如图:
对于单词A,在文档d1中权重为2,在文档d3中权重为1
对于单词B,同上
第二部:map
在单词A,B里内部运算。得到
<(d1,d3),2>key为(d1,d3),value为权重值2
<(d1,d2),1>key为(d1,d2),value为权重值1
进行reduce后,相同key值进行叠加,就可以得到 文本相似度
表连接
表A:
id name
1 北京
2 天津
3 河北
4 山西
5 内蒙古
6 辽宁
7 吉林
8 黑龙江
表B:
id statyear num
1 2010 1962
1 2011 2019
2 2010 1299
2 2011 1355
4 2011 3574
4 2011 3593
9 2010 2303
9 2011 2347
大矩阵乘法
通常用三元组存储矩阵,矩阵压缩
对于矩阵A和矩阵B
A(i,j) B(j,k)得到C(i,k)
map:
将矩阵A转化为<(i,k),(“a”,j,value)>
将矩阵B转化为<(i,k),(“b”,j,value)>
reduce:
(i,k)代表的是C的某一位的值,将相同key的合并,并对相同j的’a’,'b’进行乘法求和得到输出