这是我参与「第四届青训营 」笔记创作活动的第3天
- Spark介绍 Spark是一种基于内存的快速、通用、可扩展的大数据分析计算引擎。Spark 是一种由 Scala 语言开发的快速、通用、可扩展的大数据分析引擎。Spark Core 中提供了 Spark 最基础与最核心的功能。Spark SQL 是 Spark 用来操作结构化数据的组件。通过 Spark SQL,用户可以使用SQL 或者 Apache Hive 版本的 SQL 方言(HQL)来查询数据。Spark Streaming 是 Spark 平台上针对实时数据进行流式计算的组件,提供了丰富的处理数据流的 API。 Spark特点:
-
统一引擎,支持多种分布式场景 -
多语言支持:SQL,Java/Scala,R,Python -
可读写丰富数据源:Text,JSON/CSV,Parquet/ORC,JDBC -
丰富灵活的API/算子 -
支持K8S/YARN/Mesos资源调度
- SparkCore Spark Core 中提供了 Spark 最基础与最核心的功能,Spark 其他的功能如:Spark SQL,Spark Streaming,GraphX, MLlib 都是在 Spark Core 的基础上进行扩展的. Spark 计算框架为了能够进行高并发和高吞吐的数据处理,封装了三大数据结构,用于 处理不同的应用场景。三大数据结构分别是:
- RDD : 弹性分布式数据集
- 累加器:分布式共享只写变量
- 广播变量:分布式共享只读变量 RDD(Resilient Distributed Dataset)叫做弹性分布式数据集,是 Spark 中最基本的数据处理模型。 两类RDD算子:
-
Transform算子:生成一个新的RDD -
Action算子:触发Job提交
- SparkSQL Spark SQL 是 Spark 用来操作结构化数据的组件。通过 Spark SQL,用户可以使用 SQL或者 Apache Hive 版本的 SQL 方言(HQL)来查询数据。 SparkSQL的特点:
-
易整合:无缝的整合了 SQL 查询和 Spark 编程 -
统一的数据访问:使用相同的方式连接不同的数据源 -
兼容 Hive:在已有的仓库上直接运行 SQL 或者 HiveQL -
标准数据连接:通过 JDBC 或者 ODBC 来连接