跟网站开发公司签合同主要要点wordpress阅读次数自动增长

web/2025/10/3 0:50:22/文章来源:
跟网站开发公司签合同主要要点,wordpress阅读次数自动增长,个人资料展示网站,wordpress rss feedSpark算子 文章目录Spark算子一、转换算子coalesce函数repartition函数flatMap——flatMap变换sample——抽样zip——联结mapValues——对Value值进行变换二、行动Action算子数据运算类行动算子reduce——Reduce操作collect——收集元素countByKey——按Key值统计Key/Value型RD…Spark算子 文章目录Spark算子一、转换算子coalesce函数repartition函数flatMap——flatMap变换sample——抽样zip——联结mapValues——对Value值进行变换二、行动Action算子数据运算类行动算子reduce——Reduce操作collect——收集元素countByKey——按Key值统计Key/Value型RDD中的元素个数countByValue——统计RDD中元素值出现的次数foreach——逐个处理RDD元素lookup——查找元素take——获取前n个元素takeSample——提取n个元素takeOrdered——获取排序后的前n个元素存储型行动算子saveAsObjectFile——存储为二进制文件saveAsTextFile——存储为文本文件saveAsNewAPIHadoopFile——存储为Hadoop文件三、缓存算子cache——缓存RDDcheckpoint——建立RDD的检查点persist——持久化RDD一、转换算子 coalesce函数 返回一个经过简化到numPartitions个分区的新RDD。这会导致一个窄依赖例如你将1000个分区转换成100个分区这个过程不会发生shuffle相反如果10个分区转换成100个分区将会发生shuffle。然而如果你想大幅度合并分区例如合并成一个分区这会导致你的计算在少数几个集群节点上计算言外之意并行度不够。为了避免这种情况你可以将第二个shuffle参数传递一个true这样会在重新分区过程中多一步shuffle这意味着上游的分区可以并行运行。 注意第二个参数shuffletrue将会产生多于之前的分区数目例如你有一个个数较少的分区假如是100调用coalesce(1000, shuffle true)将会使用一个 HashPartitioner产生1000个分区分布在集群节点上。这个对于提高并行度是非常有用的。如果shuff为false时如果传入的参数大于现有的分区数目RDD的分区数不变也就是说不经过shuffle是无法将RDD的partition数变多的 repartition函数 返回一个恰好有numPartitions个分区的RDD可以增加或者减少此RDD的并行度。内部这将使用shuffle重新分布数据如果你减少分区数考虑使用coalesce这样可以避免执行shuffle Repartition函数内部调用了coalesce函数 shuffle 为True def repartition(numPartitions: Int)(implicit ord: Ordering[T] null): RDD[T] withScope {coalesce(numPartitions, shuffle true)}flatMap——flatMap变换 算子函数格式: flatMap[U](f:FlatMapFunction[T,U]):JavaRDD[U] 在前面我们已经了解到map变换是对原RDD中的每个元素进行一对一变换生成 新RDD,而flatMap不同的地方在于,它是对原RDD中的每个元素用指定函数f进行一 对多(这也是lat前缀的由来)的变换,然后将转换后的结果汇聚生成新RDD. 示例: flatMap示例代码 scalavalrddsc,parallelize(0 to 3,1)//生成由0-3序列构成的RDDrdd:org.apache,spark.rdd.RDD[Int]ParallelCollectionRDD[17] at parallelize at:21scalaval flatMappedRDDrdd.flatMap(x0tox)//使用flatMap将每个原始变换为一个序列flatMappedRDD:org.apache.spark.rdd.RDD[Int]MapPartitionsRDD[18] at flatMap at:23scalaflatMappedRDD.collect//显示新的RDDres0:Array[Int]Array(0,0,1,0,1,2,0,1,2,3)sample——抽样 算子函数格式: sample(withReplacement:Boolean,fraction:Double,seed:Long):JavaRDD[T] 对原始RDD中的元素进行随机抽样,抽样后产生的元素集合构成新的RDD. 参数fraction 指定新集合中元素的数量占原始集合的比例.抽样时的随机数种子由seed指定. 参数withReplacement为false时,抽样方式为不放回抽样. 参数withReplacement为true时,抽样方式为放回抽样. 示例: sample示例代码 1:scalavalrddsc.parallelize(0to9,1)//生成由0-9的序列构成的RDDrdd:org.apache.spark.rdd.RDD [Int1ParallelCollectionRDD[5]at parallelize at:212:scalardd.sample(false,0.5).collect//不放回抽样一半比例的元素生成新的RDDres4:Array[Int]Array(0,1,2,3,4,7)3:rdd.sample(false,0.5).collect//再次不放回抽样一半比例的元素生成新的RDDres7:Array [Int]Array(0,1,3,6,8)4:scalardd.sample(false,0.8).collect//不放回抽样80%比例的元素生成新的RDDres8:Array[Int]Array(0,1,2,5,6,8,9)5:scalardd.sample(true,0.5).co1lect//放回抽样一半比例的元素生成新的RDDres9:Array[Int]Array(0,2,3,4,4,6,7,9)zip——联结 算子函数格式: zip[U](other:JavaRDDLike[U,_]):JavapairRDD(T,U] 输入参数为另一个RDD,zip变换生成由原始RDD的值为Key、输入参数RDD的值为Value依次配对构成的所有Key/Value对,并返回这些Key/Value对集合构成的新RDD. 示例: zip示例代码 1:scalaval rdd1sc.parallelize(0 to 4,1)//构建原始RDDrdd_1:org.apache.spark.rdd.RDD[Int]ParallelcollectionRDD[19]at parallelize at :212:scalaval rdd2sc.parallelize(5 to 9,1)//构建输入参数RDDrdd_2:org.apache.spark.rdd.RDD[Int]ParallelcollectionRDD [20]at parallelize at :213:scalardd_1.zip(rdd_2).collect//对两个RDD进行联结res5:Array[(Int,Int)]Array((0,5),(1,6),(2,7),(3,8),(4,9})mapValues——对Value值进行变换 算子函数格式: mapValues[u](f:Function[v,U]):JavapairRDD[K,U] 将Key/Value型RDD中的每个元素的Value值,使用输入参数函数f进行变换,生成新的RDD. 示例: 1:scalaval pairssc.parallelize(List(apple,banana,berry,cherry,cumquat,haw),1).keyBy(_.1ength)//构建原始RDDpairs:org.apache.spark.rdd.RDDI(Int,String)]MappedRDD[16]at keyBy at:122:scalapairs.mapvalues(vvV{0)).collect//生成将单词加单词首字母的RDDres0:Array[(Int,string)]Array{(5,apple a),(6,banana b),(5,berry b),(6,cherry c),7,cumquat c),(3,haw h))二、行动Action算子 数据运算类行动算子 reduce——Reduce操作 算子函数格式: reduce(f:Function2[T,T,T]):T 对RDD中的每个元素依次使用指定的函数f进行运算,并输出最终的计算结果. 需要注意的是,Spark中的reduce操作与Hadoop中的reduce操作并不一样.在Hadoop中,reduce操作是将指定的函数作用在Key值相同的全部元素上.而Spark的reduce操作则是对所有元素依次进行相同的函数计算. 示例: 1:scalaval numssc.parallelize(0 to 9,5)//构建由数字0-9构成的RDDnums:org,apache.spark.rdd.RDD[Int]ParallelCollectionRDD[18]at parallelize at:122:scalanums.reduce(__)//计算RDD中所有数字的和collect——收集元素 算子函数格式: co1lect():List[T] collect的作用是以数组格式返回RDD内的所有元素. 示例: 1:scalaval datasc.parallelize(List(1,2,3,4,5,6,7,8,9,0},2)//构建原始RDDdata;org.apache.spark.rdd.RDD[Int]ParallelCo1lectionRDD[8]at parallelize at:122:scaladata.collect//显示原始RDD中的元素res0:Array[Int]Array(l,2,3,4,5,6,7,8,9,0)countByKey——按Key值统计Key/Value型RDD中的元素个数 算子函数格式: countByKey():Map[K,Long] 计算Key/Value型RDD中每个Key值对应的元素个数,并以Map数据类型返回 统计结果. 示例: 1:scalaval pairRDDsc.parallelize(List((fruit,Apple),(fruit,Banana),{fruit,Cherry ),{vegetable,bean),(vegetable,cucumber),(vegetable,pepper)),2} //构建原始 RDDpairRDD:org.apache.spark.rdd.RDD [(String,String)]Paralle1 Collection RDD[3 Jat parallelize at :122:sca1apairRDD.countByKey //统计原始RDD中每个物品类型下的物品数量res0:scala.collection.Map[String,Long]Map(fruit-3,vegetable-3)countByValue——统计RDD中元素值出现的次数 算子函数格式: countByValue():Map[T,Long] 计算RDD中每个元素的值出现的次数,并以Map数据类型返回统计结果. countByValue示例代码 1:scalaval numsc.parallelize(List(1,1,1,2,2,3),2)//构建原始RDDnum:org.apache.spark.rdd.RDD [Int]ParallelcollectionRDD[4]atparallelize at:122:scalanum.countByValue//统计原始RDD中每个数字出现的次数res0:scala.collection.Map[Int,Long]Map(2-2,1-3,3-1)foreach——逐个处理RDD元素 算子函数格式: foreach(f:VoidFunction[(K,V)]):Unit 对RDD中的每个元素,使用参数f指定的函数进行处理. 示例: 1:scalaval wordssc.parallelize(List(A,B,C,D),2)//构建原始 RDDwords;org.apache.spark.rdd,RDD[String]ParallelCollectionRDD[9] at parallelize at :212:scalawords.foreach(xprint1n(xis a letter.))/打印输出每个单词构造的一句话Cis a letter.Ais a letter.Dis a letter.Bis a letter.lookup——查找元素 算子函数格式: lookup(key:K):List[V] 在Key/Value型的RDD中,查找与参数key相同Key值的元素,并得到这些元素 的Value值构成的序列. 示例: 1:scalaval pairssc.parallelize(List(apple,banana,berry,cherry,cumcquat,haw),1).keyBy (_.1ength)//构建原始RDDpairs:org.apache.spark.rdd.RDDt(Int,String)]MapPartitionsRDD[13] at keyBy at:212:scalapairs.collectres18:Array [(Int,String)]Array((5,apple),(6,banana),(5,berry),(6,cherry),(7,cumcuat),(3,haw))3:scalapairs.lookup(5)//查找长度为5的单词res19:Seq[string]WrappedArray (apple,berry)take——获取前n个元素 takeSample——提取n个元素 takeOrdered——获取排序后的前n个元素 存储型行动算子 saveAsObjectFile——存储为二进制文件 算子函数格式: saveAsobjectPile(path:string):Unit 将RDD转换为序列号对象后,以Hadoop SequenceFile文件格式保存,保存路径由 参数path指定. 示例: 1:scalaval datasc.parallelize(0to9,1)//构建0-9组成的RDDdata:org.apache.spark.rdd.RDD[Int]Paralle1CollectionRDD[40]at parallelize at :122:scaladata.saveAsobjectFile(obj)//将RDD以SequenceFile文件格式保存,文件名为objsaveAsTextFile——存储为文本文件 saveAsNewAPIHadoopFile——存储为Hadoop文件 三、缓存算子 为了提高计算效率,Spark采用了两个重要机制: ①基于分布式内存数据集进行运算,也就是我们已经熟知的RDD; ②变换算子的惰性执行(Lazy Evaluation),即RDD的变换操作并不是在运行到该行代码时立即执行,而仅记录下转换操作的操作对象.只有当运行到一个行动算子代码时,变换操作的计算逻辑才真正执行. 这两个机制帮助Spark提高了运算效率,但正如’硬币都有两面’一样,在带来提升性能的好处的同时,这两个机制也留下了隐患. 例如: ①如果在计算过程中,需要反复使用某个RDD,而该RDD需要经过多次变换才能得到,则每次使用该RDD时都需要重复这些变换操作,这种运算效率是很低的; ②在计算过程中数据存放在内存中,如果出现参与计算的某个节点出现问题,则存放在该节点内存中的RDD数据会发生损坏.如果损坏的也是需要经过多次变换才能得到的RDD,此时虽然可以通过再次执行计算恢复该RDD,但仍然要付出很大的代价.因此,Spark提供了一类缓存算子,以帮助用户解决此类问题. cache——缓存RDD 算子函数格式: cache():JavaRDD[T] cache将RDD的数据持久化存储在内存中,其实现方法是使用后面我们会介绍的persist算子.当需要反复使用某RDD时,使用cache缓存后,可以直接从内存中读出,不再需要执行该RDD的变换过程.需要注意的是,这种缓存方式虽然可以提高再次使用某个RDD的效率,但由于cache后的数据仅仅存储在内存中,因此不能解决RDD出错时需要再次恢复运算的问题.而且cache保存的数据在Driver关闭后会被清除,因此不能被在其他Driver中启动的Spark程序使用. 示例: 1:scalaval numsc.parallelize(0to9,1)//构建RDDnum:org,apache.spark.rdd.RDD[Int]ParallelCollectionRDD[7]at parallelize at:212:scalaval resultnum.map(xx*x)//对原始RDD进行map变换result:org.apache.spark.rdd.RDD[Int]MapPartitionsRDD [8]at map at:233:scalaresult.cache//对新RDD进行缓存res19:result.typeMapPartitionsRDD[8 Jat map at :234:scalaresult.count//统计新RDD中的元素个数res30:Long105:scalaresult.collect().mkstring(,)//再次使用新RDD,生成用逗号分隔的序列res31:String0,1,4,9,16,25,36,49,64,81checkpoint——建立RDD的检查点 算子函数格式: checkpoint():Unit 对于需要很长时间才能计算出或者需要依赖很多其他RDD变化才能得到的RDD,如果在计算过程中出错,要从头恢复需要付出很大的代价.此时,可以利用checkpoint建立中间过程的检查点,Spark会将执行checkpoint操作的RDD持久化,以二进制文件的形式存放在指定的目录下.与cache不同的是,checkpoint保存的数据在Driver关闭后仍然以文件的形式存在,因此可以被其他Driver中的Spark程序使用. 示例: 1:scalaval rddsc.makeRDD(1to9,2)//构建原始RDDrdd:org.apache.spark.rdd.RDD[Int]ParallelCollectionRDD[0]at makeRDD at :212:scalaval flatMapRDDrdd.flatMap(xSeq(x,x))//对原始RDD做flatMap变换flatMapRDD:org.apache.spark.rdd.RDD [Int]MappartitionsRDD[1]at flatMap at:233:scalasc.setCheckpointDir(my_checkpoint)//指定checkpoint存放的目录4:scalaflatMapRDD.checkpoint()//建立 checkpoint5:scalaflatMapRDD.dependencies.head.rdd//显示变换后RDD的依赖res2:org.apache.spark.rdd.RDD(_]ParallelcollectionRDD[0]at makeRDD at:216:scalaflatMapRDD.collect()//显示变换后的RDDres3:Array[Int]Array(1,1,2,2,3,3,4,4,5,5,6,6,7,7,8,8,9,9)7:scalaflatMapRDD.dependencies.head.rdd//再次显示变换后RDD的依赖res4:org.apache.spark.rdd.RDD [_1CheckpointRDD[2]at collect at:26persist——持久化RDD 算子函数格式: persist(newLeve1:storageLeve1):JavaRDD[T] 调用persist可对RDD进行持久化操作,利用参数newlevel可以指定不同的持久化方式,常用的持久化方式包括: MEMORY_ONLY仅在内存中持久化,且将RDD作为非序列化的Java对象存储在JVM中.这种方式比较轻量,是默认的持久化方式. MEMORY_ONLY_SER仅在内存中持久化,且将RDD作为序列化的Java对象存储(每个分区一个byte数组).这种方式比MEMORY_ONLY方式要更加节省空间,但会耗费更多的CPU资源进行序列化操作. MEMORY_ONLY_2仅在内存中持久化,且将数据复制到集群的两个节点中. MEMORY_AND_DISK同时在内存和磁盘中持久化,且将RDD作为非序列化的Java对象存储. MEMORY_AND_DISK_SER同时在内存和磁盘中持久化,且将RDD作为序列化的Java对象存储. MEMORY_AND_DISK_2同时在内存和磁盘中持久化,且将数据复制到集群的两个节点中. persist示例代码 1:scalaval numsc.parallelize(0to9,1)//构建RDDnum:org.apache.spark.rdd.RDD[Int]ParallelCollectionRDD[0]at parallelize at :122:scalanum.getStorageLeve1//显示RDD当前的持久化状态res8:org.apache.spark.storage.StoragelevelStorageLevel{false,false,false,false,1)3:scalanum.persist()//使用persist进行默认的MEMORY_ONLY持久化res9:num.typeParallelCollectionRDD [5] at parallelize at:214:scalanum.getStorageLeve1//显示RDD新的持久化状态res10:org,apache,spark,storage.StorageLevelStorageLevel(false,true,false,true,1)

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

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

相关文章

庆阳网站优化公司wamp配置多个网站

什么造就了成功的测试套件如果测量测试套件的质量?唯一可行的办法就是对测试套件里每一个测试进行单独的评估。你不需要一次性把它们都评估完。你可以逐步的进行评估成功的测试套件拥有以下属性:集成到开发周期中只针对代码库中最重要的部分它以最低的成…

深圳市seo网站设计长沙微网站

http://www.cnblogs.com/smallstone/archive/2010/06/29/1767508.html 一、GAC的作用 全称是Global Assembly Cache作用是可以存放一些有很多程序都要用到的公共Assembly,例如System.Data、System.Windows.Forms等等。这样,很多程序就可以从GAC里面取得…

企业服务网站淘宝网站首页怎么做

Anacond的介绍 Anaconda指的是一个开源的Python发行版本,其包含了conda、Python等180多个科学包及其依赖项。 因为包含了大量的科学包,Anaconda 的下载文件比较大(约 531 MB),如果只需要某些包,或者需要节…

html5 企业网站可以全部免费观看的平台

第一步 获取root权限 配置环境等都需要用到root权限,所以我们先获取到root权限,方便下面的操作 下载软件 在UOS应用商店下载的所需应用 版本都比较低 安装node 官网下载了【arm64】的包,解压到指定文件夹,设置链接&#xff0…

大连网站建设培训班制作网页的工具主要有哪些

在过去的十年中,出现了许多涉及计算机视觉(CV)的项目,无论是小型的概念验证项目还是更大规模的生产应用。应用计算机视觉的方法是相当标准化的: 1、定义问题(分类、检测、跟踪、分割)、输入数据(图片的大小和类型、视野)和类别(正是我们想要的) 2、注释…

忘记网站后台用户名高端网站建设哪家更专业

联合体 联合体的创建 联合体的关键字是union union S {char a;int i; };除了关键字和结构体不一样之外,联合体的创建语法形式和结构体的很相似,如果不熟悉结构体的创建,可以看一下我上一篇的博客关于结构体知识的详解。 联合体的特点 联合…

路由器做网站80端口公众号登陆入口

1.跳跃游戏 原题:力扣55. 逐步判断下一步的覆盖范围,根据范围去推断是否能到达终点,不用计较每一步走到哪里。 public boolean canJump(int[] nums) {// 题目规定 nums 长度大于等于1if (nums.length 1) {return true;}int cover 0;// f…

家装网站设计漂亮的网站

一、工业级 S25HS01GTDPBHV030 Semper™ NOR闪存 S25HS01GT SEMPER™ NOR Flash闪存系列是英飞凌高性能、安全而可靠的 NOR Flash解决方案。 它集成了适用于汽车、工业、通信等广泛应用的关键安全功能。 凭借 SEMPER™ NOR Flash闪存,英飞凌推出了业界首款符合 ASI…

外贸关键词网站免费网站如何做推广

前言 自2021年中国人民银行发布《金融科技发展规划(2022-2025年)》以来,商业银行迈入数字化转型的高阶阶段。在此背景下,为了进一步提高金融科技的管理水平,商业银行需要改变传统金融运维模式,对已有运维体…

网站建设流程发布网站和网页制作济南做网络推广

水一贴。 在浏览器中按F12点击"source"或者"源程序"点击html、js、css等源码文件所在的窗口的左边,此时点击处显示为蓝色光标,表示断点中断已经设置完毕。配合窗口右上角的"继续" “下一步” "跳过"等控制按钮…

沈阳蓝德网站建设网站对齐原则

linux系统启动过程 启动过程可以分为6步:POST–>BIOS–>MBR(GRUB)–>Kernel–>Init–>Runlevel。POST为Power On Self test,MBR(GRUB)其实也可以分开来讲,MBR的作用是去引导记录,为GRUB做准备。 各过程解析 POS…

南京企业网站搭建wordpress 仿雷锋

从先序与中序遍历序列构造二叉树 描述: 给定两个整数数组 preorder 和 inorder ,其中 preorder 是二叉树的先序遍历, inorder 是同一棵树的中序遍历,请构造二叉树并返回其根节点。 递归法 解题思路: 通过先序遍历我…

网站模板案例怎么建立信息网站平台

1 std::mutex 的基础概念 1.1 std::mutex 的定义与声明 std::mutex 是 C11 标准库中的一个互斥量(mutex)类,用于保护共享资源的并发访问。在多线程环境中,当多个线程试图同时访问和修改同一资源时,可能会发生数据竞争…

金融网站开发目的集团网站推广

来源:DeepTech深科技人脑中,数以千计的神经元间电信号交替传送不断,而长短不一的树突(神经元胞体延伸)在神经元信息整合中起到了关键作用,由此我们的大脑细胞才能正常反应运作。而这次,MIT 的神…

新建网站软件如何做网站免费搭桥链接

矩阵是线性代数课学习的重点内容之一,也是线性代数常见工具之一,在应用数学、统计分析、计算机科学、计算机图像处理级物理等多学科中均有应用。矩阵主要是指数据的行列排列的形式,由行row与列col所组成,在数学中M*N矩阵是指具有M…

太原建站模板源码阳江市网络问政平台登录

编辑 | 萝卜皮格拉斯哥大学(University of Glasgow)的研究人员提出了一种自主化学合成机器人,用于探索、发现和优化由实时光谱反馈、理论和机器学习算法驱动的纳米结构,这些算法控制反应条件并允许选择性地模板化反应。这种方法允…

企业网站建设服务内容瑞安营销网站建设

文章目录1. 比赛结果2. 题目1. LeetCode 5420. 商品折扣后的最终价格 easy2. LeetCode 5422. 子矩形查询 medium3. LeetCode 5423. 找两个和为目标值且不重叠的子数组 medium4. LeetCode 5421. 安排邮筒 hard1. 比赛结果 两题选手😂,前两题很水&#xf…

上海哪家网站建设公司好网站域名是什么

Array.prototype.forEach MDN解释forEach()方法是对数组的每个元素执行一个给定的函数,换句话来说就是在调用forEach()方法的时候,需要传入一个回调函数callback,循环每个数组内部元素时都会执行一次传入的回调函数callback forEach()方法的…

门户网站建设的企业79招商创业网

2024 7/7 转眼间就到周日啦!昨天下午开组会,开了三个半小时。如坐针毡,会后跑了个步、洗了个澡、洗了衣服、躺床上看了会《罪与罚》,睡着了。早上起来,去拿我昨晚充电的车,当我看到车没有停在昨天的位置&am…

如何建立电子商务网站网站开发设计文档

//官方的例子在质量上是有保证的,而各种教程和文档又局限于个人阅读和理解力。 进入jdk官网---找download,,,下滑鼠标----找到如: JDK 8 Demos and Samples 点击下载,,解压进入,比如…