摘要:
需求:输入一份社交图谱,每行是两个ID,中间用空格分开,代表这两个人有联系,组成一个无向图,计算这个无向图中三角形的个数。 首先我需要将输入文件转化成一个无向图,这个比较简单,使用map操作将两个ID提取出来,如果两个ID相同,说明自己指向了自己,那么舍弃掉这个输入,map的输出在传递给reduce 阅读全文
摘要:
Working with Key/Value Pairs Key/Value RDDs通常被用来执行aggregations,我们经常会做一些初始化ETL(extract, transform, load)来得到我们的key/value数据。 使用可控制的partitioning,应用程序能够减少通 阅读全文
摘要:
Programming with RDDs 一个RDD就是一个分布式的元素集合,在Spark中,所有的工作可以表示为要么创建新的RDDs,要么转换现有的RDDs,要么在RDDs上操作计算结果。Spark会自动地分布你的数据到集群上,并行地计算。 RDD基础 每个RDD分成很多partitions,这 阅读全文
摘要:
硬件的效率与一致性 计算机的存储设备与处理器的运算速度有几个数量级的差距,所以现代计算机系统都不得不加入一层读写速度尽可能接近处理器运算速度的高速缓存(Cache)来作为内存与处理器之间的缓冲:将运算需要使用到的数据复制到缓存中,让运算能快速进行,当运算结束后再从缓存同步回内存之中,这样处理器就无须 阅读全文
摘要:
这篇文章将会从倒排索引的例子逐渐深入地介绍hadoop mapreduce的一些操作。 倒排索引 对于倒排索引的介绍,网上有很多的介绍和相关的程序,在本文中就不会详细介绍,但是会给出相关代码,这些代码将会展示hadoop mapreduce的基本操作,在接下来的内容中,将会基于这些代码进行扩展,以熟 阅读全文
摘要:
Note: HashMap继承自AbstractMap类,实现了Map接口,Cloneable接口,Serializable接口。AbstractMap类是个抽象类,定义了Map最常用的方法,可以看做是接口Map的最小类实现。HashMap是基于哈希表实现的,而另一个Map接口实现类TreeMap是 阅读全文