《Spark大数据分析:核心概念、技术及实践》一3.6 惰性操作
本节书摘来自华章出版社《Spark大数据分析:核心概念、技术及实践》一书中的第3章,第3.6节,作者[美] 穆罕默德·古勒(MohammedGuller),更多章节内容可以访问云栖社区“华章计算机”公众号查看。 3.6 惰性操作 RDD的创建和转换方法都是惰性操作。当应用调用一个返回RDD的方法的时候,Spark并不会立即执行运算。比如,当你使用SparkContext的textFile方法从HDFS中读取文件时,Spark并不会马上从硬盘中读取文件。类似地,RDD转换操作(它会返回新RDD)也是惰性的。Spark会记录作用于RDD上的转换操作。 让我们考虑如下示例代码。 上面三行代码看起来很快就会执行完,哪怕textFile方法读取的是一个包含了10TB数据的文件。这其中的原因是当你调用textFile方法时,它并没有真正读取文件