Spark学习笔记0——简单了解和技术架构
Spark学习笔记0——简单了解和技术架构 笔记摘抄自 [美] Holden Karau 等著的《Spark快速大数据分析》 [TOC] 什么是Spark Spark 是一个用来实现快速而通用的集群计算的平台。 扩展了广泛使用的MapReduce 计算模型 能够在内存中进行计算 一个统一的框架简单而低耗地整合各种处理流程 接口非常丰富 技术架构和软件栈 Spark 的核心是一个对由很多计算任务组成的、运行在多个工作机器或者是一个计算集群上的应用进行调度、分发以及监控的计算引擎 Spark 项目还包含多个紧密集成的组件,这些组件关系密切并且可以相互调用 各组件间密切结合的设计原理的优点: 软件栈中所有的程序库和高级组件都可以从下层的改进中获益 只需要一套软件系统,运行整个软件栈的代价变小了 能够构建出无缝整合不同处理模型的应用(例如机器学习和数据分析同时进行) Spark Core Spark Core 实现了Spark 的基本功能,包含任务调度、内存管理、错误恢复、与存储系统交互等模块 Spark Core 中包含了对 RDD[^1] 的 API 定义 Spark SQL Spark 用来操作结构化数据的程序包 可以使用 SQL 和 Apache Hive 版本的SQL 方言(HQL)来查询数据 支持多种数据源(比如Hive 表、Parquet 以及JSON 等)