什么是Spark?
Spark是一个用来实现快速而通用的集群计算的平台。
Spark项目包含多个紧密集成的组件,Spark的核心是一个对由很多计算任务组成的、运行在多个工作机器或者是一个计算集群上的应用进行调度、分发以及监控的计算引擎。
Spark软件栈:
- 数据科学任务:将数据转换为更方便分析和观察的格式
- 数据处理应用:使用Spark开发生产环境中的数据处理应用
Spark下载使用
下载地址:spark.apache.org/downloads.h…
- Spark本身是用Scala写的,运行在Java虚拟机(JVM)上,要准备好java环境,如需使用Python接口,则需要准备Python环境
- 解压后,执行bin/pyspark启动PySpark shell
- 使用shell从本地文本文件创建一个RDD(弹性分布式数据集)来做一个简单的统计
>>> lines = sc.textFile("README.md") # 创建一个名为lines的RDD
>>> lines.count() # 统计RDD中的元素个数
127
>>> lines.first() # 这个RDD中的第一个元素,也就是README.md的第一行
u'# Apache Spark'
Spark能够在工作节点把数据读取到内存中,所以许多分布式计算都可以在几秒内完成,哪怕是那种在十几个节点上处理TB级别的数据的计算
Spark核心概念
- 从上层来看,每个Spark应用都由一个驱动器程序来发起集群上的各种并行操作,驱动器程序应包含应用的main函数,并且定义了集群上的分布式数据集,还对这些分布式数据集应用了相关操作
- 驱动器程序通过一个SparkContext对象来访问Spark,这个对象代表对计算集群的一个连接,即Shell启动的时候已经自动创建了一个SparkContext对象,是一个叫作src的变量
- 一旦有了SparkContext,就可以用它创建RDD,然后进行并行操作
对Spark有了粗浅的认识和理解,期待下次的小实践!
摘自:Spark快速大数据分析