千家信息网

Spark 累加器实验

发表于:2026-11-02 作者:千家信息网编辑
千家信息网最后更新 2026年11月02日,以下代码用 Pyspark + IPython 完成统计日志空行的数量:读取日志,创建RDD:myrdd = sc.textFile("access.log")不使用累加器:In [6
千家信息网最后更新 2026年11月02日Spark 累加器实验

以下代码用 Pyspark + IPython 完成


统计日志空行的数量:

读取日志,创建RDD:

myrdd = sc.textFile("access.log")


  1. 不使用累加器:

In [68]: s = 0In [69]: def f(x):    ...:     global s    ...:     if len(x) == 0:    ...:         s += 1    ...:In [70]: myrdd.foreach(f)In [71]: print (s)

得出结果为:

0

原因是python 的变量,即使是全局变量不能应用在各个计算进程(线程)中同步数据,所以需要分布式计算框架的变量来同步数据,Spark 中采用累加器来解决:


  1. 使用累加器

In [64]: s = sc.accumulator(0)In [65]: def f(x):    ...:     global s    ...:     if len(x) == 0:    ...:         s += 1    ...:In [66]: myrdd.foreach(f)In [67]: print (s)

得出正确结果:

14



累加器 变量 数据 日志 结果 同步 代码 全局 分布式 原因 数量 框架 空行 线程 进程 应用 统计 实验 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 百单网互联网科技有限公司 广州淘业互联网络科技 哈尔滨大商圈互联网科技有限公司 互联网科技公司起名 疫情对互联网科技公司影响 与互联网科技公司 北京互联网络科技有限公司 远拓互联网科技 南京欣网互联网科技 睿民互联网科技 互联网前沿科技 人人互联网科技是培训 深圳市运趣互联网科技有限公司 汽车互联网创新科技园 世界互联网科技公司市值排名 青岛科技大学互联网大赛研究生 高科技互联网发展前景如何 互联网科技包装股份有限公司上市 云鲸互联网络科技有限公司 米泉互联网科技专业怎么样 与互联网科技公司 互联网科技集团 互联网科技小额贷款 汉立互联网科技有限公司联系电话 互联网科技博主是什么意思 呼和浩特新华互联网科技学院 国大互联网教育科技有限公司薪资 科技信息时代互联网发展 互联网科技创新创业项目 山东蛋芒互联网科技有限公司
0