Spark
Scalar
使用scalar两个主要接口:他提供了最为完整的Spark接口,而且得益于JVM带来的性能优势,在生产环境大部分部署的大部分应用都适用Scalar。
大数据
当我们使用普通R语言和python数据库来处理数据时,一般都是小的数据(小于100G),当大于100G时,用普通数据库时无法很好的处理,就必须要Spark、handook来处理。
单机内存容量有限,一次必须把数据分布到不同的机器上。但是这个也导致我们必须把算法分布到不同的处理器上
决策树
Spark应运而生
handoop的缺点是有很多的磁盘io操作会严重影响性能。
而数据运算总是需要对统一块数据进行多次访问。
Spark能以多种模式运行:
本地模式:单个独立的主机运行单个Java虚拟机JVM
独立Spark集群: 在多台主机上运行多个JVM
通过资源管理器(Yarn / Mesos) : 应用部署由资源管理器管理。
Spark有5个库
内核: Spark的核心基础设施
在RDD基础上提供了用户友好的API,引入了DataFrame和SQL来操作存储的数据。
MLlib(机器学习库)这个是Spark自身内置的机器学习算法库。可以在Spark应用程序直接使用。
GraphX: 供图和图相关的计算使用。
流(Streaming): 支持多种数据源的实时数据流,如Kafka,Twitter,Flume,TCP套接字等。
数据科学就是一个迭代的过程
项目最后的结果通常是一个模型,能够回答提出的问题。注意我们并没有说要“精确”回答。太精确了可能是过度拟合了。就是对于测试集之外的数据,表现的非常糟糕。