spark 简介
减低了维护成本
spark 生态
应用于机器学习
spark与hadoop 比较
hadoop场景:离线处理,对时效性要求不高
spark应用场景:时效性要求高的场景,机器学习等领域
spark 安装
scala-shell 例子
lines.count() 获取总数, first() 返回第一行
可以减少信息的输出显示
scala 安装
使用idea 编写 scala
sbt 是打包的一个工具
sbt 的安装 https://www.cnblogs.com/lenmom/p/10376391.html
还有就是 使用idea 初次构建工程的时候,初始化要下载一下资源包,
可能因为网络的问题不能下载下来,不防多重试几次说不定就全部下载下来了。
安装参考
http://www.pianshen.com/article/2857147020/
https://blog.csdn.net/sgyuanshi/article/details/93314355
https://my.oschina.net/jamesju/blog/83659
开发spark demo
如果提交作业失败,可能是是spart的对应的scala 版本问题
参考 : https://blog.csdn.net/qq_36835255/article/details/89960637
RDDs
分区数 就是 分片数 ,上面就是 将 数据集合分成4个部分
以上 执行的 foreach 没次打印的顺序不一样,是因为每次取分片的 是随机的
加载外部数据集
scala的基础知识
Transformation
filter
flatMap
集合运算
distinck() 函数去重
并集union
intersection 交集
subtrack 差集
Action 操作
RDDS的特性
KeyValue对RDDs
combineByKey()
求平均
combineByKey: score=>(1,score) 即每个分数算一个,
(c1:(Int,Double),newScore)=> (c1._1+1,c1._2+newScore) 即第二行 科目数加1 ,分数加上。
(c1:(Int,Double),c2:(Int,Double))=> c1._1+1,c1._2+c2._2) 即两个分区的汇总值再 进行 科目数和分数的相加
来源:oschina
链接:https://my.oschina.net/ouminzy/blog/3189263