Working on a Per-Partition Basis(基于分区的操作) 以每个分区为基础处理数据使我们可以避免为每个数据项重做配置工作.如打开数据库连接或者创建随机数生成器这样的操作,我们希望避免为每个元素重做配置工作.Spark有分区版本的map和foreach,通过让RDD的每个分区只运行一次代码,可帮助降低这些操作的成本. 回到我们的呼号例子中,有一个无线电台呼号的在线数据库,我们可以查询联系日志的公共列表.通过使用基于分区的操作,我们可以分享数据库的连接池来避免为多个连接配置…
Common Transformations and Actions 本章中,我们浏览了Spark中大多数常见的transformation(转换)和action(开工).在包含特定数据类型的RDD上可以进行额外的操作,例如,可以对纯数字RDD使用统计函数,对键值对的RDD进行聚合操作.后面的章节我们会介绍这些特别的操作和RDD类型间的转换. Basic RDD (基础RDD) 首先,在忽略数据的影响的前提下,我们将描述所有的RDD上可以执行的transformation和action.…