首页 > 其他分享 >1/23 学习进度笔记

1/23 学习进度笔记

时间:2024-01-23 18:45:35浏览次数:25  
标签:__ 23 累加器 笔记 rdd 进度 words line lambda

今日学习了如何使用Spark中的累加器功能,并按要求完成了广播变量加上累加器的统计单词的小案例

累加器的功能?

在分布式执行的代码中,累加器accumulator可以进行全局累加

 

小案例:在下图文本中实现1.统计特殊符号出现次数2.对单词出现进行统计

 原码:

# coding:utf8

from pyspark import SparkContext, SparkConf
import re

if __name__ == '__main__':
conf = SparkConf().setMaster("local[*]").setAppName("test")
sc = SparkContext(conf=conf)

file_rdd = sc.textFile("../data/accumulator_broadcast_data.txt")

abnormal_char = [",", ".", "!", "#", "$", "%"]

broadcast = sc.broadcast(abnormal_char)

acmlt = sc.accumulator(0)

lines_rdd = file_rdd.filter(lambda line: line.strip())

data_rdd = lines_rdd.map(lambda line: line.strip())

words_rdd = data_rdd.flatMap(lambda line: re.split("\s+",line))

def filter_words(word):
global acmlt
abnormal_chars = broadcast.value
if word in abnormal_chars:
acmlt+=1
return False
else:
return True

normal_words_rdd = words_rdd.filter(filter_words)

words_with_one_rdd = normal_words_rdd.map(lambda x: (x, 1))

result_rdd = words_with_one_rdd.reduceByKey(lambda x,y: x+y)

print(result_rdd.collect())
print("特殊字符数量:",acmlt)


 

标签:__,23,累加器,笔记,rdd,进度,words,line,lambda
From: https://www.cnblogs.com/yuncannotjava/p/17983134

相关文章

  • [转帖]彻底搞明白 GB2312、GBK 和 GB18030
    https://zhuanlan.zhihu.com/p/453675608 日常工作的过程中,关于字符编码的问题经常让人头疼不已,这篇文章就来捋一捋关于GB2312、GBK、GB18030相关的知识以及它们和Unicode的关系简介GB23121980年,中国发布了第一个汉字编码标准,也即GB2312,全称《信息交换用汉......
  • 1.23学习进度
    1.RDD定义:弹性分布式数据集,是spark中最基本的数据抽象,代表一个不可变、可分区、里面的元素可并行计算的集合2.RDD五大特性   Alistofpartitions:RDD是有分区的   Afunctionforcomputingeachsplit:计算方法会做用到每一个分片(分区)之上   Alistofdependencies......
  • 2023 年度龙蜥最佳用户案例奖揭晓,中国移动、小红书、中国人寿财险等企业上榜!
    近日,在2023龙蜥操作系统大会上,龙蜥社区公布了2023年度最佳用户案例获奖企业名单,龙蜥社区副理事长张东、理事李祥凯为中国移动、小红书、中国人寿财险等13家获奖企业颁奖。本次获奖企业是从使用龙蜥操作系统社区版(AnolisOS)或商业版/衍生版的企业用户中进行评选,涵盖政务、互联......
  • Find min and max element in bst using iteration【1月23日学习笔记】
    点击查看代码#include<iostream>usingnamespacestd;structNode{intdata;Node*left,*right;};Node*newNode(intx){Node*temp=newNode;temp->data=x;temp->left=temp->right=NULL;returntemp;}voidin......
  • 01.23 算法补全:后缀数组
    秉着技多不压身的想法,我认为在有些时候后缀数组的直接建法还是有用处的,于是决定快速地补一下这个算法。以后看看能不能每天稳定产出一篇,随便什么的文章。可能是一个trick的记录,也能是算法补全,或者是题解慢报/速报,亦或是鲜花。这些内容会同步发表于我的洛谷blog:https://www.luo......
  • Inplementation of Binary Search Tree using recursion-local version 3【1月23日学
    点击查看代码#include<iostream>usingnamespacestd;structNode{intdata;Node*left,*right;//注意声明格式};Node*newNode(intx){Node*temp=newNode;temp->data=x;temp->left=temp->right=NULL;returntemp;}......
  • 哈希学习笔记+杂题(基础2 字符串哈希)
    哈希杂题前言:骗分神器,我之前竟然没有学。一、哈希学习笔记+杂题(基础2字符串哈希)相关题单:戳我1.哈希(hash)简介哈希算法(HashAlgorithm),又称散列算法。有两种用法,第一种就是将一字符串转化成任意进制的数,目的是方便存储。第二种就是将大范围的数映射成小范围的数,目的也是方便存......
  • 2024.1.23-每日进度笔记
    今天,我尝试在mysql插入数据后获取自增字段的值。 参考:百度文心一言的回复。 publicstaticintinsertTimu(StringtimuLeixing,StringtimuWenti,StringtimuDaan,StringtimuXuanxiang)throwsException{intres=0;Connectionconnection=uti......
  • 2024-1-23URL概念
    目录URL什么是URLURL解析URL什么是URL定义:统一资源定位符,简明点就是网址,是因特网上标准的资源的地址,如同在网络上的门牌。概念:URL就是统一资源定位符,简称网址,用于访问网络上的资源。URL解析URL的组成部分是由协议、域名、资源路径组成例子网站如下http://hmajax.itheima.......
  • Inplementation of Binary Search Tree using iteration-local version 2【1月23日学
    点击查看代码#include<iostream>usingnamespacestd;structNode{intdata;Node*left;Node*right;};Node*newNode(intx){Node*temp=newNode;temp->data=x;temp->left=temp->right=nullptr;returntemp......