RDD的Action算子-fold算子
fold算子是基于一个初始值对RDD中的元素调用一个函数进行聚合,返回聚合后的结果,与reduce算子类似。与reduce算子不同的是,reduce算子无初始值,而fold算子需要一个初始值。fold算子首先基于初始值在RDD的各个分区内部完成分区内聚合,再基于初始值在各个分区之间完成分区间聚合。fold算子的定义如下:
def fold(self: "RDD[T]", zeroValue: T, op: Callable[[T, T], T]) -> T
案例:
rdd1 = sc.parallelize(["Hello Python", "Hello Spark You", "Hello Python Spark", "You know PySpark"])
print("RDD1中元素的总长度是:", rdd1.map(lambda x: len(x)).fold(5, lambda a, b: a + b))
相关推荐
Spark1.4.1 RDD算子详解
结合代码详细描述RDD算子的执行流程,并配上执行流程图
Spark算子实现WordCount_11种方式
Top1:GroupBy object WordCount_GroupBy { def main(args: Array[String]): Unit = { val sc: SparkContext = new SparkContext(new SparkConf().setMaster("local[*]").setAppName("WordCount_GroupBy")) val fileRDD: RDD[String] = sc.textFile("datas/1.txt")
spark-rdd-APi
内容根据spark rdd.scala和ParRDDFunctions.scala源码中rdd顺序整理,包含rdd功能解释。对熟悉spark rdd很有用
spark的常用操作
关于sparkde 的常用操作,可以看完之后理解入门程序,更多的可查阅官方文档。恩,为什么不能设置0资源分?
【工业自动化】欧姆龙PLC产品线与编程软件体系详解:基于西门子工程师视角的选型指导与避坑指南
内容概要:本文详细解析了欧姆龙PLC的产品线、编程软件体系、通信架构及选型策略,重点从西门子工程师视角出发,对比两者的定位差异与技术路径。文章明确指出欧姆龙存在两套不兼容的系统:传统的C系列(CP/CJ/CS)使用CX-Programmer软件和绝对地址编程,适用于单机设备与老线改造;新型Sysmac平台(NJ/NX/NY)采用Sysmac Studio集成开发环境,支持IEC 61131-3标签变量、EtherCAT运动控制和多领域一体化控制,代表当前技术高地。同时梳理了FINS、CompoWay/F、EtherCAT、EtherNet/IP等多层通信协议的区别,并列出从西门子转型易踩的八大误区,提供清晰的选型决策路径。; 适合人群:具备一定工业自动化背景,熟悉西门子PLC体系,正在转向或需要维护欧姆龙系统的工程师,尤其是从事设备选型、系统集成与产线升级的研发和技术人员。; 使用场景及目标:①帮助西门子背景工程师快速建立对欧姆龙双平台的认知框架;②指导正确选用CP/CJ/NJ/NX系列及配套软件;③避免在通信接口、地址体系、软件版本等方面出现典型错误;④实现老旧系统向新平台平滑迁移。; 阅读建议:此资源强调“先框架后细节”,建议读者先掌握三大平台分流和软件对应关系,再深入具体型号参数。特别注意2026年10月新版Sysmac Studio与CX-One对CJ3M系列的双向支持这一关键更新,在实际项目中需严格核对控制器固件与软件版本匹配性,防止因版本不兼容导致无法连接。


