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