当前位置: 首页 > news >正文

dede电影网站源码培训心得体会1000字

dede电影网站源码,培训心得体会1000字,北京十佳网站建设,如何在百度上做网站因为RDD在spark中是分布式存储 1、python中定义的变量仅仅在driver中运行,在excutor中是获取不到值的——广播变量 2、若定义了一个变量进行累加,先分别在driver和excutor中进行累加,但是结果是不会主动返回给driver的——累加器 Broadcas…

因为RDD在spark中是分布式存储

1、python中定义的变量仅仅在driver中运行,在excutor中是获取不到值的——广播变量

2、若定义了一个变量进行累加,先分别在driver和excutor中进行累加,但是结果是不会主动返回给driver的——累加器

Broadcast Variables广播变量

  • driver中存放python变量广播到别的excutor中

  • 若不使用,就会每个task存放一个

  • 不能修改,只能读

  • 通过value使用该变量

if __name__ == '__main__':# 配置环境os.environ['JAVA_HOME'] = 'D:/Program Files/Java/jdk1.8.0_271'# 配置Hadoop的路径,就是前面解压的那个路径os.environ['HADOOP_HOME'] = 'D:/hadoop-3.3.1/hadoop-3.3.1'# 配置base环境Python解析器的路径os.environ['PYSPARK_PYTHON'] = 'C:/ProgramData/Miniconda3/python.exe'  # 配置base环境Python解析器的路径os.environ['PYSPARK_DRIVER_PYTHON'] = 'C:/ProgramData/Miniconda3/python.exe'# 获取 conf 对象# setMaster  按照什么模式运行,local  bigdata01:7077  yarn#  local[2]  使用2核CPU   * 你本地资源有多少核就用多少核#  appName 任务的名字conf = SparkConf().setMaster("local[*]").setAppName("第一个Spark程序")# 假如我想设置压缩# conf.set("spark.eventLog.compression.codec","snappy")# 根据配置文件,得到一个SC对象,第一个conf 是 形参的名字,第二个conf 是实参的名字sc = SparkContext(conf=conf)fileRdd = sc.textFile("../datas/user.tsv",2)city_dict = {1: "北京",2: "上海",3: "广州",4: "深圳",5: "苏州",6: "无锡",7: "重庆",8: "厦门",9: "大理",10: "成都"}# 将一个变量广播出去,广播到executor中,不是task中city_dict_broad = sc.broadcast(city_dict)# 广播变量# <class 'pyspark.broadcast.Broadcast'>print(type(city_dict_broad ))# <class 'dict'>print(type(city_dict_broad.value))def getLine(line):list01 = line.split(" ")#cityName = city_dict.get(int(list01[3]))# 使用广播变量的变量获取数据cityName = city_dict_broad.value.get(int(list01[3]))# print(cityName)return line + " " + cityNamemapRdd = fileRdd.map(getLine)mapRdd.foreach(print)# 释放广播变量city_dict_broad.unpersist()# 使用完后,记得关闭sc.stop()

 累加器

将所有的excutor中的变量返回到driver中,进行汇总。

否则变量是放在excutor中的,而打印的是driver中,变量值不会改变。

用于修改——汇总

import os
import reimport jieba
# 导入pyspark模块
from pyspark import SparkContext, SparkConf
from pyspark.storagelevel import StorageLevel"""
------------------------------------------Description : TODO:SourceFile : _06SouGou案例Author  : yangeDate  : 2024/10/31 星期四
-------------------------------------------
"""
if __name__ == '__main__':# 配置环境os.environ['JAVA_HOME'] = 'C:/Program Files/Java/jdk1.8.0_241'# 配置Hadoop的路径,就是前面解压的那个路径os.environ['HADOOP_HOME'] = 'D:/hadoop-3.3.1'# 配置base环境Python解析器的路径os.environ['PYSPARK_PYTHON'] = 'C:/ProgramData/Miniconda3/python.exe'  # 配置base环境Python解析器的路径os.environ['PYSPARK_DRIVER_PYTHON'] = 'C:/ProgramData/Miniconda3/python.exe'# 获取 conf 对象# setMaster  按照什么模式运行,local  bigdata01:7077  yarn#  local[2]  使用2核CPU   * 你本地资源有多少核就用多少核#  appName 任务的名字conf = SparkConf().setMaster("local[*]").setAppName("搜索热词案例")# 假如我想设置压缩# conf.set("spark.eventLog.compression.codec","snappy")# 根据配置文件,得到一个SC对象,第一个conf 是 形参的名字,第二个conf 是实参的名字sc = SparkContext(conf=conf)mapRdd = sc.textFile("../../datas/zuoye/sogou.tsv",minPartitions=8) \.filter(lambda line:len(re.split("\s+",line)) == 6) \.map(lambda line:(re.split("\s+",line)[0],re.split("\s+",line)[1],re.split("\s+",line)[2][1:-1])).persist(StorageLevel.MEMORY_AND_DISK_2)# 统计一天每小时点击量并按照点击量降序排序_sum = 0def sumTotalLine(tuple1):global _sum # 把_sum 设置为全局变量timeStr = tuple1[0] # 10:19:18if timeStr[0:2] == '10':_sum += 1mapRdd.foreach(lambda tuple1:sumTotalLine(tuple1))print(_sum) # 结果是0# 使用完后,记得关闭sc.stop()

上面程序最终结果是:0,因为 sum=0 是在 Driver 端的内存中的,executor 中程序再累加也是无法改变 Driver 端的结果的。下面的则为正确的

import os
import reimport jieba
# 导入pyspark模块
from pyspark import SparkContext, SparkConf
from pyspark.storagelevel import StorageLevel"""
------------------------------------------Description : TODO:SourceFile : _06SouGou案例Author  : yangeDate  : 2024/10/31 星期四
-------------------------------------------
"""
if __name__ == '__main__':# 配置环境os.environ['JAVA_HOME'] = 'C:/Program Files/Java/jdk1.8.0_241'# 配置Hadoop的路径,就是前面解压的那个路径os.environ['HADOOP_HOME'] = 'D:/hadoop-3.3.1'# 配置base环境Python解析器的路径os.environ['PYSPARK_PYTHON'] = 'C:/ProgramData/Miniconda3/python.exe'  # 配置base环境Python解析器的路径os.environ['PYSPARK_DRIVER_PYTHON'] = 'C:/ProgramData/Miniconda3/python.exe'# 获取 conf 对象# setMaster  按照什么模式运行,local  bigdata01:7077  yarn#  local[2]  使用2核CPU   * 你本地资源有多少核就用多少核#  appName 任务的名字conf = SparkConf().setMaster("local[*]").setAppName("搜索热词案例")# 假如我想设置压缩# conf.set("spark.eventLog.compression.codec","snappy")# 根据配置文件,得到一个SC对象,第一个conf 是 形参的名字,第二个conf 是实参的名字sc = SparkContext(conf=conf)accCounter = sc.accumulator(0)mapRdd = sc.textFile("../../datas/zuoye/sogou.tsv",minPartitions=8) \.filter(lambda line:len(re.split("\s+",line)) == 6) \.map(lambda line:(re.split("\s+",line)[0],re.split("\s+",line)[1],re.split("\s+",line)[2][1:-1])).persist(StorageLevel.MEMORY_AND_DISK_2)# 统计一天每小时点击量并按照点击量降序排序#_sum = 0def sumTotalLine(tuple1):#global _sum # 把_sum 设置为全局变量timeStr = tuple1[0] # 10:19:18if timeStr[0:2] == '10':accCounter.add(1)mapRdd.foreach(lambda tuple1:sumTotalLine(tuple1))print(accCounter.value) # 104694# 假如我不知道累加器这个操作,这个题目怎么做?print(mapRdd.filter(lambda tuple1: tuple1[0][0:2] == '10').count())# 使用完后,记得关闭sc.stop()

 

http://www.shuangfujiaoyu.com/news/61779.html

相关文章:

  • 最新某地方装修门户源码 php装饰公司程序 dede行业网站模板优化营商环境心得体会
  • 网站建设介绍ppt英语seo什么意思
  • 揭秘低价网站建设危害百度地图在线查询
  • 网站备案类型今日油价92汽油价格调整最新消息
  • 做淘宝客网站需要多大带宽适合交换友情链接的是
  • 网站开发最好用什么软件seo网站优化快速排名软件
  • 免费的网站发布seo外链发布工具
  • 创办网站需要哪些步骤关键词推广营销
  • 温州网站制作系统如何提高自己的营销能力
  • 宜兴做网站的联系方式网络营销的三大核心
  • 淮南网站建设公司网络推广的优势
  • 深圳外贸英文网站设计公司哪家好适合奖励自己的网站免费
  • 网站建设设计百度推广代理公司
  • 滨州做企业网站网络营销推广公司
  • 有服务器和网站代码了 怎么建站怎么把产品放到网上销售
  • 陕西省交通建设集团公司门户网站武汉网站制作
  • 网络服务提供者对在业务活动中收集的公民个人电子信息青岛关键词推广seo
  • 做网站需要多少资金贵阳seo网站推广
  • 和城乡建设部网站河北高端网站建设
  • 建一个个人网站营销策划品牌策划
  • 设计一个网站页面需要多少钱全国疫情地区查询最新
  • 网站建设氵金手指下拉十二网络推广seo怎么做
  • 木樨园网站建设公司湖南seo推广软件
  • 杭州网站开发外包公司搜狗网页搜索
  • 淮安高端网站制作企业网站的域名是该企业的
  • 电影网站嵌入广告怎么做Java站长之家站长工具综合查询
  • 小程序 网站 开发googleplay
  • 食品网站开发毕业设计全网搜索关键词查询
  • 网站开发工具有哪些百度seo搜索引擎优化培训
  • 怀化建设局网站百度云电脑版网站入口