Scala
文章平均质量分 82
Jack_F
唉生活唉社交
展开
-
第一个Spark On Yarn程序
环境hadoop 2.2.0 + Scala 2.10.3 + Spark 0.9 + Idea 13单机伪分布式的YarnIdea SBT插件使用:建立SBT项目,然后在Setting中设置SBT autoimport 和 auto 创建目录结构build.sbtname := "WordCount"version := "1.0"scalaVersion :原创 2014-02-22 14:42:52 · 13068 阅读 · 5 评论 -
Spark with Hadoop InputFormat
基于Yarn的,使用新的API,SBT需要添加,默认是用的1.0.4的clientlibraryDependencies += "org.apache.hadoop" % "hadoop-client" % "2.2.0"代码如下package myclassimport org.apache.spark.SparkContextimport org.apache.hadoop.原创 2014-02-28 10:51:23 · 6967 阅读 · 2 评论 -
Effective Scala
Effective ScalaMarius Eriksen, Twitter Inc.marius@twitter.com (@marius)[translated by hongjiang(@hongjiang)]Table of Contents序言格式化: 空格, 命名, Imports, 花括号, 模式匹配, 注释类型和泛型: 返回类型注解(annotati转载 2014-02-15 08:48:48 · 1258 阅读 · 0 评论 -
SparkTC :Transitive closure on a graph(图中节点的可达性)
思路:1.生成数据(from,to),为初试可达节点对数目(同时也是基本的节点跳转规则)2.对数据需要做一次链接操作,(类似于一次矩阵乘)3.将链接操作的结果提取成(from,to)形式,与当前的可达节点对做并集,得到最新的当前可达节点对数目3.比较当前可达节点对的数量与上一轮节点对数量4.若没有增加,则停止;否则,跳转至2继续执行可能还是比较晕乎乎,看实验数据原创 2014-02-27 20:50:47 · 3764 阅读 · 0 评论 -
KMeans on Spark
思路:1.随机生成数据2.随机生成K个聚类中心3.计算每个点所属的类别4.计算新的聚类中心5.比较聚类中心的变化情况,大于阈值跳转至3;小于阈值停止。package myclassimport java.util.Randomimport org.apache.spark.SparkContextimport SparkContext._import org.ap原创 2014-02-27 11:33:53 · 5719 阅读 · 4 评论 -
Scala School 笔记(五)--高级类型
--------------待续原创 2014-02-14 17:04:20 · 4265 阅读 · 0 评论 -
Scala School 笔记(四)--类型和多态基础
Scala有秩1多态性粗略地说,这意味着在Scala中,有一些你想表达的类型概念“过于泛化”以至于编译器无法理解。假设你有一个函数def toList[A](a: A) = List(a)你希望继续泛型地使用它:def foo[A, B](f: A => List[A], b: B) = f(b)这段代码不能编译,因为所有的类型变量只有在调用上下文中才被固定。即原创 2014-02-14 17:03:00 · 3623 阅读 · 0 评论 -
Scala School 笔记(三)--模式匹配与函数组合
函数组合让我们创建两个函数:scala> def f(s: String) = "f(" + s + ")"f: (String)java.lang.Stringscala> def g(s: String) = "g(" + s + ")"g: (String)java.lang.Stringcomposecompose 组合其他函数形成一个新的函数 f(g原创 2014-02-14 15:01:46 · 5799 阅读 · 0 评论 -
Scala School 笔记(二)--集合
----------------------待续原创 2014-02-14 11:06:58 · 1145 阅读 · 0 评论 -
Scala School 笔记(一)--基础
只记录若干觉得有必要的内容部分应用(Partial application)你可以使用下划线“_”部分应用一个函数,结果将得到另一个函数。Scala使用下划线表示不同上下文中的不同事物,你通常可以把它看作是一个没有命名的神奇通配符。在{ _ + 2 }的上下文中,它代表一个匿名参数。你可以这样使用它:scala> def adder(m: Int, n: Int)原创 2014-02-14 11:02:58 · 2239 阅读 · 0 评论 -
Spark PageRank
如果不考虑出度为0的节点情况,方法很easy,参考官方的code。但是考虑出度为0的节点的时候,会出现各种问题先贴上代码,再说明package myclassimport org.apache.spark.SparkContextimport SparkContext._import scala.collection.mutable.ArrayBufferimport scala.c原创 2014-02-23 16:23:48 · 10073 阅读 · 0 评论 -
GraphX中Pregel单源点最短路径
GraphX中的单源点最短路径例子,使用的是类Pregel的方式。核心部分是三个函数:1.节点处理消息的函数 vprog: (VertexId, VD, A) => VD (节点id,节点属性,消息) => 节点属性2.节点发送消息的函数 sendMsg: EdgeTriplet[VD, ED] => Iterator[(VertexId,A)] (边元组) => Iterato原创 2014-03-04 21:54:27 · 7146 阅读 · 1 评论