中山网站建设是什么什么网站可以做视频剪辑的兼职

bicheng/2026/1/25 7:50:30/文章来源:
中山网站建设是什么,什么网站可以做视频剪辑的兼职,很小众却很惊艳的店名,申请公司掌握Spark高级算子在代码中的使用 相同点分析 三个函数的共同点#xff0c;都是Transformation算子。惰性的算子。 不同点分析 map函数是一条数据一条数据的处理#xff0c;也就是#xff0c;map的输入参数中要包含一条数据以及其他你需要传的参数。 mapPartitions函数是一个…掌握Spark高级算子在代码中的使用 相同点分析 三个函数的共同点都是Transformation算子。惰性的算子。 不同点分析 map函数是一条数据一条数据的处理也就是map的输入参数中要包含一条数据以及其他你需要传的参数。 mapPartitions函数是一个partition数据一起处理也即是说mapPartitions函数的输入是一个partition的所有数据构成的“迭代器”然后函数里面可以一条一条的处理在把所有结果按迭代器输出。也可以结合yield使用效果更优。 rdd的mapPartitions是map的一个变种它们都可进行分区的并行处理。 两者的主要区别是调用的粒度不一样map的输入变换函数是应用于RDD中每个元素而mapPartitions的输入函数是应用于每个分区。 mapPartitionsWithIndex函数其实和mapPartitions函数区别不大因为mapPartitions背后调的就是mapPartitionsWithIndex函数只是一个参数被close了。mapPartitionsWithIndex的函数可以或得partition索引号 假设一个rdd有10个元素分成3个分区。如果使用map方法map中的输入函数会被调用10次而使用mapPartitions方法的话其输入函数会只会被调用3次每个分区调用1次。 mapPartitionsWithIndex则是带上分区下标进行操作。 1、mapPartitionWithIndex import org.apache.spark.{SparkConf,SparkContext} object mapPartitionWithIndex {def getPartInfo:(Int,Iterator[Int])  Iterator[String] (index:Int,iter:Iterator[Int]) { iter.map(x [ PartId   index , elems:   x   ]) }def main(args: Array[String]): Unit  { val conf  new SparkConf().setMaster(local).setAppName(RddMapPartitionsWithIndexDemo) val sc  new SparkContext(conf)val rdd1 sc.parallelize(List(1,2,3,4,5,9,6,7,8),numSlices 3 ) val rdd2 rdd1.mapPartitionsWithIndex(getPartInfo) rdd2.collect().foreach(println)}} 2、aggregate 首先我们来创建一个 RDD scala val rdd1 sc.parallelize(1 to 5) rdd1: org.apache.spark.rdd.RDD[Int]  ParallelCollectionRDD[4] at parallelize at console:24scala rdd1.collect warning: there was one feature warning; re-run with -feature for details res24: Array[Int] Array(1, 2, 3, 4, 5) 这个 RDD 仅有 1 个分片包含 5 个数据 1, 2, 3, 4, 5 。 然后我们来应用一下 aggregate 方法。 在使用 aggregate 之前我们还是先定义两个要给 aggregate 当作输入参数的函数吧。 scala  // Entering paste mode (ctrl-D to finish) def pfun1(p1: Int, p2: Int): Int { p1 * p2 }// Exiting paste mode, now interpreting. pfun1: (p1: Int, p2: Int)Intscalascala  // Entering paste mode (ctrl-D to finish) def pfun2(p3: Int, p4: Int): Int { p3 p4 }// Exiting paste mode, now interpreting. pfun2: (p3: Int, p4: Int)Intscala 接着是第 2 个函数。就不再解释什么了。 然后终于可以开始应用我们的 aggregate 方法了。 scala rdd1.aggregate(3)(pfun1, pfun2) res25: Int  363scala 输出结果是 363 这个结果是怎么算出来的呢 首先我们的 zeroValue 即初值是 3 。然后通过上面小节的介绍我们知道首先会应用 pfun1 函数因为我们这个 RDD 只有 1 个分片所以整个运算过程只会有一次 pfun1 函数调用。它的计算过程如下 首先用初值 3 作为 pfun1 的参数 p1 然后再用 RDD 中的第 1 个值即 1 作为 pfun1 的参数 p2 。由此我们可以得到第一个计算值为 3 * 1 3 。接着这个结果 3 被当成 p1 参数传入RDD 中的第 2 个值即 2 被当成 p2 传入由此得到第二个计算结果为 3 * 2 6 。以此类推整个 pfun1 函数执行完成以后得到的结果是  3 * 1 * 2 * 3 * 4 * 5  360 。这个 pfun1 的应用过程有点像是 “在 RDD 中滑动计算” 。 在 aggregate 方法的第 1 个参数函数 pfun1 执行完毕以后我们得到了结果值 360 。于是这个时候就要开始执行第 2 个参数函数 pfun2 了。 pfun2 的执行过程与 pfun1 是差不多的同样会将 zeroValue 作为第一次运算的参数传入在这里即是将 zeroValue 即 3 当成 p3 参数传入然后是将 pfun1 的结果 360 当成 p4 参数传入由此得到计算结果为 363 。因为 pfun1 仅有一个结果值所以整个 aggregate 过程就计算完毕了最终的结果值就是 363 。 import org.apache.spark.{SparkConf, SparkContext}object RddAggregateDemo {def main(args: Array[String]): Unit  { val conf  new SparkConf().setMaster(local).setAppName(RddDemos) val sc  new SparkContext(conf) val rdd1 sc.parallelize(List(12,23,345,),numSlices  2) //下面代码等价与rdd1.aggregate()(xy) math.min(x.length,y.length)),(x,y)xy)) val result rdd1.aggregate()(func1,func2) println(result) } //(x,y)math.min(x.Length,y.length) def func1:(String,String)  String (x:String,y:String) { println(x:   x  ,x.len:   x.length  ,y:   y ,y.len:   y.length  ) val ret math.min(x.length,y.length).toString println(func1 ret: ret) ret } //(xy) xy def func2:(String,String)String(x:String,y:String) { println( (xy)) xy } } 3、aggregateByKey 通过scala集合以并行化方式创建一个RDD scala val pairRdd sc.parallelize(List((“cat”,2),(“cat”,5),(“mouse”,4),(“cat”,12),(“dog”,12),(“mouse”,2)),2) pairRdd 这个RDD有两个区一个区中存放的是 (“cat”,2),(“cat”,5),(“mouse”,4) 另一个分区中存放的是 (“cat”,12),(“dog”,12),(“mouse”,2) 然后执行下面的语句 scala pairRdd.aggregateByKey(100)(math.max(_ , _), _ _ ).collect 结果 res0: Array[(String,Int)] Array((dog,100),(cat,200),(mouse,200) 下面是以上语句执行的原理详解 aggregateByKey的意思是按照key进行聚合 第一步将每个分区内key相同数据放到一起 分区一 (“cat”,(2,5)),(“mouse”,4) 分区二 (“cat”,12),(“dog”,12),(“mouse”,2) 第二步局部求最大值 对每个分区应用传入的第一个函数math.max(_ , _)这个函数的功能是求每个分区中每个key的最大值 这个时候要特别注意aggregateByKe(100)(math.max(_ , _),__)里面的那个100其实是个初始值 在分区一中求最大值的时候,100会被加到每个key的值中这个时候每个分区就会变成下面的样子 分区一 (“cat”,(2,5100)),(“mouse”,(4100)) 然后求最大值后变成 (“cat”,100), (“mouse”,100) 分区二 (“cat”,(12,100)),(“dog”,(12.100)),(“mouse”,(2,100)) 求最大值后变成 (“cat”,100),(“dog”,100),(“mouse”,100) 第三步整体聚合 将上一步的结果进一步的合成这个时候100不会再参与进来 最后结果就是 (dog,100),(cat,200),(mouse,200) 对PairRDD中相同的Key值进行聚合操作在聚合过程中同样使用了一个中立的初始值。和aggregate函数类似aggregateByKey返回值的类型不需要和RDD中value的类型一致。因为aggregateByKey是对相同Key中的值进行聚合操作所以aggregateByKey函数最终返回的类型还是PairRDD对应的结果是Key和聚合后的值而aggregate函数直接返回的是非RDD的结果。 import org.apache.spark.{SparkConf, SparkContext}object RddAggregateByKeyDemo { def main(args: Array[String]): Unit  { val conf new SparkConf().setMaster(local).setAppName(RddAggregateByKeyDemo) val sc  new SparkContext(conf) val pairRDD sc.parallelize(List((cat,2),(cat,5),(mouse,4),(cat,12),(dog,12),(mouse,2)),numSlices  2) val rdd pairRDD.aggregateByKey(100)(func2,func2) val resultArray rdd.collect resultArray.foreach(println) sc.stop()} def func2(index:Int,iter:Iterator[(String,Int)]):Iterator[String] { iter.map(x[partID:  index  ,val:  x ]) }//(x,y)math.max(xy) def func1:(Int,Int)  Int (x:Int,y:Int) { println(x:   x  , ,y: y  ) val ret math.max(x,y) println(func1 max: ret) ret } //(xy) xy def func2:(Int,Int)Int(x:Int,y:Int) { println(func2 x :  x  ,y:y) println(func2 ret  (xy)) xy }}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/bicheng/86922.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

网站建设与管理中专专业口碑好的专业网站建设

给定一个由整数数组 A 表示的环形数组 C,求 C 的非空子数组的最大可能和。 此外,子数组最多只能包含固定缓冲区 A 中的每个元素一次。 思路 本道题需要分类成两种情况,题目答案为以下两种情况的较大值。 1.最大子区间在序列的中间 这种情况是…

婚恋网站建设建设厅官方网站

在当前的商业领域中,企业大数据传输是一个重要而复杂的问题。随着企业规模和数据量的扩大,如何安全可靠、高效快速地传输大数据成为了许多企业需要面对的挑战。本文将介绍几种值得考虑的企业大数据传输解决方案,以帮助企业有效应对这一挑战。…

logo素材库网站免费比较好的网站建设品牌设计

1.什么是模式 模式在开发过程中总结出的“套路”,总结出的一套约定俗成的设计模式 2.javaEE经历的模式 model1模式: 技术组成:jspjavaBean model1的弊端:随着业务复杂性 导致jsp页面比较混乱 model2模式…

高端网站案例网站建设网店代理免费加盟

在迈入2024年的春季招聘季节之际,阿里巴巴再次展开了对优秀技术人才的寻觅。作为一家全球领先的技术创新企业,阿里巴巴对候选人的技术能力和创新思维有着极高的要求,尤其是在软件开发领域。Spring框架,作为Java企业级应用开发的重…

网站建设与管理电子教程合肥 定制网站开发

SQL中CONVERT函数格式: CONVERT(data_type,expression[,style]) 参数说明: expression 是任何有效的 Microsoft SQL Server™ 表达式。。 data_type 目标系统所提供的数据类型,包括 bigint 和 sql_variant。不能使用用户定义的数据类型。 length nchar、nva…

加强学科网站建设如何制作手机网页

引言 CLIP全称Constrastive Language-Image Pre-training,是OpenAI推出的采用对比学习的文本-图像预训练模型。CLIP惊艳之处在于架构非常简洁且效果好到难以置信,在zero-shot文本-图像检索,zero-shot图像分类,文本→图像生成任务…

上海网站建设口碑好未成年怎么在网上卖东西

目录 一、RabbitMQ 持久化机制 1、RabbitMQ 持久化概述2、队列持久化3、消息持久化4、交换器持久化 二、RabbitMQ 知识扩展 1、内存告警与内存换页2、磁盘告警与配置3、数据写入磁盘时机4、磁盘消息格式5、磁盘文件删除机制 一、RabbitMQ 持久化机制 1、RabbitMQ 持久化概述…

英迈思做网站怎么样关于申请网站建设的请示

前言 大家好!我是二蛋,一个热爱技术、乐于分享的工程师。在过去的几年里,我一直通过各种渠道与大家分享技术知识和经验。我深知,每一位技术人员都对自己的技能提升和职业发展有着热切的期待。因此,我非常感激大家一直…

给别人做网站如何收费巴南区网站建设

一、简介 Lichee Pi 4A是一款基于RISC-V指令集的强大Linux开发板,它凭借出色的性能和丰富的接口,吸引了众多开发者和爱好者的关注。这款开发板不仅适用于学习和研究RISC-V架构,还可以作为软路由、小型服务器或物联网设备的核心组件。 目录 一…

石嘴山网站seo资阳网络营销顾问招聘

目录 1、模板匹配介绍 2、cv::matchTemplate 3、模板匹配的方法(算法) 4、代码演示 1、模板匹配介绍 模板匹配就是在整个图像区域发现与给定子图像匹配的小块区域。 它可以在一幅图像中寻找与给定模板最相似的部分。 模板匹配的步骤: &a…

asp图片源码网站wordpress单页面

在我们进行 API 开发和测试时,使用诸如 Postman 之类的工具可以极大地简化工作流程,提高效率。Postman 的一个强大功能就是变量(Variables)。利用变量,我们可以使我们的请求变得更加动态和灵活,避免重复输入…

网站建设与管理计划书在县城做同城网站怎么样

文章目录 一、排序组件继承GenericAPIView使用DRF内置排序组件继承APIView编写排序 二、过滤组件继承GenericAPIView使用DRF内置过滤器实现过滤使用第三方模块django-filter实现and关系的过滤自定制过滤类排序搭配过滤使用 三、分页组件分页器一:Pagination&#xf…

郴州网站谷歌seo优化公司

随着经济的发展、财富的累积,人们生活水平、生活质量大幅度提高,生活环境得到明显改善,但是竞争激烈、人们生活压力大、生活节奏快加上饮食习惯和生活方式不合理导致国内 亚健康人群逐年增多。统计数据表明当前我国亚健康人群比例已经超过了7…

南京网站设计公司兴田德润优惠吗高端自适应网站设计

从MSDN找到的资料,详见:http://msdn.microsoft.com/zh-cn/library/aa967729.aspx安装“消息队列 (MSMQ)”以下过程介绍如何安装“消息队列 4.0”和“消息队列 3.0”。 注意: 消息队列 4.0 在 Windows XP 和 Windows Server 2003 中不可用。 在 Windows S…

如何做一个内部网站东莞百度快照优化排名

Apache 安装和使用文档更新时间:2009年11月26日 00:34:37 作者:Apache安装和使用文档一、准备工作:1台PC机,安装linux操作系统 参考文档linux安装.docx2 gcc的安装 参考文档gcc的安装.zip3 apache的安装包httpd-2.0.63.tar.gz二…

扬州将建设网站在线定制网站官网

集成运放的三大特性:虚短、虚断、 和 虚地把这几个特性理解明白了, 后面的电路分析就很容易上手。 虚短:UPUN,两输入端电压相等。虚断:IPIN0,两输入端的输入电流为0。虚地:UPUN0&#xff0c…

个人网站设计作品htmlwordpress付费剧集网站

文章目录 引言《与玛格丽特的午后》(网友评分:9.1)《午夜巴黎》(网友评分:8.3)《玫瑰人生》(网友评分:8.4)《双姝奇缘》(网友评分:8.7)《巴黎淘气帮》(网友评分:8.6)《触不可及》(网友评分:9.3)《爱在日落黄昏时》(网友评分:8.9)《悲惨世界》(网友评分:…

最低的成本做网站seo搜索

SpringBoot 3.2引入了新的 HTTP interface 用于http接口调用,采用了类似 openfeign 的风格。 具体的代码参照 示例项目 https://github.com/qihaiyan/springcamp/tree/master/spring-http-interface 一、概述 HTTP Interface 是一个类似于 openfeign 的同步接口调…

视频网站 移动 模板全flash网站源码

这里需要用的插件:qs.js,是前端给后端发送的数组,需要序列化所以要用到这个插件,这里就提取连接在这里,需要的自提,需要导如进来,别忘记了 链接:https://pan.baidu.com/s/1qyD8v9wfd…

集团公司网站建设策划方案企业网站建站技术

1.printf Format 描述 %s: 一个字符串 %d, %i :一个小数 %f :一个浮点数 %.ns: 输出字符串, n 是输出几个字符 %m.nf :输出浮点数, m 是输出整数位数, n 是输出的小数位数 %x :不带正负号的十六进制,使用 a 至 f 表示…