Spark RDD与MapReduce
什么是Map、什么是Reduce MapReduce是一个分布式编程计算模型,用于大规模数据集的分布式系统计算。 我个人理解,Map(映射、过滤)就是对一个分布式文件系统(HDFS)中的每一行(每一块文件)执行相同的函数进行处理; Reduce(规约、化简)就是对Map处理好的数据进行两两运算,因此reduce函数必须要有两个参数。 Map/Reduce的执行原理其实可以参考python的map/reduce函数: https://www.liaoxuefeng.com/wiki/001374738125095c955c1e6d8bb493182103fac9270762a000/00141861202544241651579c69d4399a9aa135afef28c44000 Spark中的MapReduce RDD(Resilient Distributed Dataset)叫做弹性分布式数据集,是Spark中最基本的数据抽象,它代表一个不可变、可分区、里面的元素可并行计算的集合。RDD具有数据流模型的特点:自动容错、位置感知性调度和可伸缩性。RDD允许用户在执行多个查询时显式地将工作集缓存在内存中,后续的查询能够重用工作集,这极大地提升了查询速度。 RDD也支持常见的MapReduce操作。 RDD操作: 转换操作: 每一次转换操作都会产生不同的RDD,供给下一个“转换