spark官方文档中的快速入门指南:http://spark.apache.org/docs/latest/quick-start.html
本书的github仓库:https://github.com/databricks/learning-spark
__________________________________________
RDD基础
- spark核心概念、核心抽象
- 弹性分布式数据集Resilient Distributed Database
- 分布式的元素集合
spark中,所有操作不外乎创建RDD、转化已有RDD以及调用RDD操作进行求值。
每个RDD都被分为多个分区,这些分区运行在集群中的不同节点上。
RDD可以包含python、Java、Scala中的任意类型的对象,甚至可以包含用户自定义的对象。
RDD支持两种类型的操作:转换操作(transformation)和行动操作(action)。区别在于spark计算RDD的方式不同。spark会惰性计算RDD,只有第一次在一个行动操作中用到时,才会真正计算。
如果想在多个行动操作中重用同一个RDD,可以使用RDD.persist()让spark把这个RDD缓存下来,这样第一次对持久化的RDD计算后,spark会把RDD的内容保存在内存中