Spark工作原理及基础概念(超详细!)_spark原理-CSDN博客
初识 Spark - 7000字+15张图解,学习 Spark 入门基础知识-腾讯云开发者社区-腾讯云
Spark基本概念
分布式并行计算框架
Spark是加州大学伯克利分校AMP实验室(Algorithms, Machines, and People Lab)开发的通用内存并行计算框架,借鉴了MapReduce之上发展而来的,继承了其分布式并行计算的优点并改进了MapReduce明显的缺陷。使用场景如下:
- 复杂的批量处理(Batch Data Processing),偏重点在于处理海量数据的能力,至于处理速度可忍受,通常的时间可能是在数十分钟到数小时;
- 基于历史数据的交互式查询(Interactive Query),通常的时间在数十秒到数十分钟之间
- 基于实时数据流的数据处理(Streaming Data Processing),通常在数百毫秒到数秒之间
- Spark 已经成为大数据领域中必备的计算引擎框架
- Spark 已经基本替代了传统的 MapReduce 离线计算框架和 Storm 流式实时计算框架
1,Spark 的特性
1,Simple 简单易用,spark封装了java python SQL等语言API
2,Fast 比MR快很多
3,Scalable(可融合性)。 使用Hadoop YARN 作用资源管理及调度器
4,Unified(统一通用)。之前离线任务计算用MR,实时流任务计算用storm,这个都支持
2,优势
1,高性能,MR计算结果放在HDFS磁盘上,Spark计算结果放在内存中,内存不够,放磁盘中
3,Spark 的生态圈(组成模块)
4,Spark 的运行原理
1,Spark 的运行模式
2,Spark 的集群架构及角色
Spark 的集群架构主要由 Cluster Manager(集群资源管理器)、Worker (工作节点)、Executor(执行器)、Driver(驱动器)、Application(应用程序)共五部分角色组成
spark与hive结合
两条路线
Spark On Hive (Hive只用于连接数据源)
Hive On Spark
谁在前谁负责解析sql,最终的执行逻辑都是RDD(Spark代替了MR)
代码示例
jar依赖
core 对应RDD
sql