作者:翁松秀
文章目录
Spark快速大数据分析
一、Spark数据分析导论
二、Spark下载与入门
三、RDD编程
RDD(Resilient Distributed Dataset),弹性分布数据集,是Spark的核心概念。在Spark中,对数据的处理和计算无非就是对RDD的创建和操作,操作包括RDD转换和RDD动作。Spark是惰性计算,只有第一次遇到行动操作的时候才会对RDD进行计算,RDD的创建和转换Spark只会保存逻辑操作,而行动操作会将最终求得的结果返回驱动器程序,或者写入外部存储系统中。
在Spark中RDD就是一个不可变的分布式对象集合。每个RDD都被分为多个分区,这些分区运行在集群中的不同节点上。
在Spark中有两种方法可以创建RDD,
- 读取外部数据集。
- 分发程序中的对象集合。
Spark在你每次对RDD进行行动操作的时候重新计算,如果想在多个行动操作中重用同一个RDD,可以把RDD缓存起来。缓存策略可以采用仅内存,仅硬盘和内存和硬盘结合的策略。
为什么叫弹性分布数据集?
因为任何时候都能进行重算。
需要注意的是,每当我们每次调用一个新的行动操作,整个RDD都会从头开始计算,要避免这种低效的行为,我们可以将中间结果持久化。