阅读书籍 :spark 快速大数据分析
一、RDD编程
1、RDD(Resilient Distributed Dataset) 弹性分布式数据集,分布式的元素集合。它是spark对数据的核心抽象.
spark中对数据的操作:1)创建RDD 2)转化已有RDD 3)调用RDD的操作进行求值
——本质上,spark会将RDD中数据发送到集群worker节点,将RDD中数据操作并行化执行
2、RDD的操作主要有两种:1)转化已有RDD为新RDD (转化操作) 2)对数据集进行实际计算,返回实际输出(行动操作)
3、RDD的函数传递和数据持久化
二、键值对操作操作
1、通过对普通RDD(pair RDD)转化操作得到键值对RDD。其主要操作是聚合计算
2、键值对RDD(pair RDD)分区:用户自定义或系统内部指定键值对RDD数据集在各个节点的分布。
分区:为减少通信开销,控制数据分布以获得最少的网络传输可以提升系统性能,spark通过控制RDD分区方式减少通信开销。Spark 没有给出显示控制每个键具体落在哪一个工作节点上的方法(部分原因是Spark 即使在某些节点失败时依然可以工作),但 Spark 可以确保同一组的键出现在同一个节点上。