Spark快速大数据分析_1:第一章
第 1 章 Spark 数据分析导论
1.1 Spark是什么
(1)定义:Spark 是一个用来实现快速而通用的集群计算的平台。
(2)特点:处理数据集速度快,因为是在内存中进行计算
(3)用途:交互式查询、流处理、批处理、迭代算法
1.2 一个大一统的软件栈
1.2.1 Spark Core
用途:
(1)Spark Core 实现了 Spark 的基本功能,包含任务调度、内存管理、错误恢复、与存储系统交互等模块。
(2)Spark Core 提供了创建和操作RDD的多个 API。
1.2.2 Spark SQL
特点:
(1)支持多个sql语言:可以使用 SQL 或者 Apache Hive 版本的 SQL 方言(HQL)来查询数据
(2)支持多种数据源:比如 Hive 表、Parquet 以及 JSON 等
(3)支持开发者将 SQL 和传统的 RDD 编程的数据操作方式相结合:不论是使用 Python、Java 还是 Scala,开发者都可以在单个的应用中同时使用 SQL 和复杂的数据分析
1.2.3 Spark Streaming
作用:Spark Streaming 提供了用来操作数据流的 API,并且与 Spark Core 中的 RDD API 高度对应
1.2.4 MLlib
作用:机器学习(ML)功能的程序库
1.2.5 GraphX
作用:用来操作图(比如社交网络的朋友关系图)的程序库,可以进行并行的图计算
1.2.6 集群管理器
1、分类:
(1)Hadoop YARN、Apache Mesos等
(2)独立调度器:spark自带的集群管理器
2、作用:spark运行平台
1.3 Spark的用户和用途
1、数据科学应用
2、数据处理应用