Spark简介
Apache Spark是专为大规模数据处理而设计的快速通用的计算引擎。目前已经形成一个高速发展应用广泛的生态系统。
Apache Spark的特性
我们对Markdown编辑器进行了一些功能拓展与语法支持,除了标准的Markdown编辑器功能,我们增加了如下几点新功能,帮助你用它写博客:
- 快速 大多数操作均在内存中迭代,只有少部分函数需要落地到磁盘;
- 易用 支持scala、Java、Python、R等语言;提供近百个算子,而且API使用及其方便;
- 通用 Spark提供了针对数据处理的一站式解决方案,计算时使用SparkCore算子,批处理使用SparkSQL,实时计算使用SparkStreaming,机器学习可以使用Spark MLlib,另外提供Spark GraphX进行图计算;
- 跨平台 Spark可采用多种部署模式:
Local模式:在本地运行调试,支持断点,可以指定并行线程数。
Standalone模式:Spark管理资源,有Master和Worker,相当于ResourceManager和NodeManager。
Cluster模式:分布式模式,用于生产环境。资源管理器使用Yarn或者Mesos。
Spark适用场景
- 复杂的批处理
- 基于历史数据的交互查询;
- 基于实时数据流的数据处理;
Spark 与Hadoop MapReduce比较
Hadoop Map/Reduce | Spark Core | |
---|---|---|
文件系统 | HDFS | HDFS |
资源调度系统系统 | Yarn、Mesos | Yarn、Mesos |
性能 | 较低,磁盘缓存 | 较高,内存缓存 |
支持语言 | Java,Hadoop Streaming | Scala、Java、Python、R |
易用性 | 较低 | 提供丰富的算子,较高 |
队列资源 | 可抢占 | 不可抢占 |
兼容性 | 较高 | 较高 |
容错 | 写入磁盘 | RDD配置DAG,支持持久化 |
日志 | JobHistoryServer | Spark UI |
Spark基本概念
- RDD特性
- Spark运行模式
- Spark抽象计算
- Spark Cache、Shuffle
- Spark算子
内容待补充…
[1]: http://sharkdtu.com/posts/spark-rdd.html
[2]: https://blog.csdn.net/wangxiaotongfan/article/details/51395769