1 数据生成
如今,数据生成方式由从前的数据录入、用户输入数据到如今机器生成数据,如此海量的数据需要快速且可伸缩的框架。
Spark是一个开源、分布式计算框架,它可以采用并行处理的方式高速应对海量数据,并且它是一种健壮的机制,2009年由美国加州大学伯克利分校创造,2010年开源。
传统上,我们习惯获取数据并将它们放入处理器中进行处理,不过现在,由于数据量过大,处理器已经无法应对,所以应用了多处理器机制来处理数据,这就是并行处理。
2 Spark底层
在底层,Spark使用的数据结构为RDD(Resilient Distributed Dataset,弹性分布式数据集),弹性的含义在于,在执行处理期间,数据结构具有重建任意时刻点数据流的能力。
Spark为用户提供了可在其上使用的四种语言选项:Java,Python,Scala,R。
2.1 Spark Core
Spark Core是Spark最基础的组成部分,它负责任务管理、I/O操作、容错以及内存管理等。
2.2 Spark组件
Spark SQL
任务:应对结构化数据处理。
Spark Streaming
任务:以一种可伸缩且可容错的方式处理实时的流式数据。
Spark MLlib
任务:以分布式方式构建基于大数据的机器学习模型。
Spark GraphX
任务:理解数据的内在关系以及可视化从数据中获得的见解,其在图形分析领域和图形并行化执行方面表现得极为出色。
SQL语言,是结构化查询语言(Structured Query Language)的简称。SQL语言是一种数据库查询和程序设计语言,用于存取数据以及查询、更新和管理关系数据库系统;同时也是数据库脚本文件的扩展名。
3 设置环境
根据操作系统不同,需要进行不同的设置,以Windows10为例。
- 安装Anaconda
- 安装Java
- 安装Spark
参考书籍:PySpark机器学习、自然语言处理与推荐系统_清华大学出版社