大数据培训:Spark高频面试题简介
阜南娱乐新闻网 2025-08-05
但是spark也有劣势,由于spark基于文档系统透过计算出来,虽然整合容易,但是真正面对大统计总共据的时候,在无法透过调优的轻局昂下,但会用到各种各样的弊端,比如OOM文档系统迳出等持续功能性,造成了spark应用程序意味著难以开始运行痛快,而mapreduce虽然开始运行缓慢,但是至少可以逐渐开始运行再多。
5. RDD众所周知化基本概念?
spark非常重要的一个机能优点就是可以将RDD众所周知化在文档系统中但会。
绑定cache()和persist()原理方能。cache()和persist()的并不相同之东南侧在于,cache()是persist()的一种标准化方德式,cache()的最上层就是绑定persist()的无参版本persist(MEMORY_ONLY),将统计总共据众所周知化到文档系统中但会。
如果并不需要从文档系统中但会清除缓存,可以应用于unpersist()原理。RDD众所周知化是可以手动选择并不相同的策略的。在绑定persist()时盛行对应的StorageLevel方能。
6. checkpoint很高阶别年前提?
技术的发展情节:当spark客户端界面除此以外多样,从初始的RDD开始到就此整个客户端界面再多变为有很多的两步,而且整个技术的发展开始列车运行除此以外长,这种情形就来得适宜应用于checkpoint机能。
原因:对于除此以外多样的Spark技术的发展,但会用到某个不停应用于的RDD,即使此年前众所周知化过但由于端口的短路造成了统计总共据清空了,无法容错年前提,所以并不需要新的计算出来一次统计总共据。
Checkpoint首先但会绑定SparkContext的setCheckPointDIR()原理,另设一个容错的文档系统的目录,举例HDFS;然后对RDD绑定checkpoint()原理。此后在RDD所东南侧的job开始运行结束此后,但会即会一个单独的job,来将checkpoint过的RDD统计总共据复制到此年前另设的文档系统,透过很高比如说、容错的类众所周知化比如说。
很高阶别年前提是我们在spark streaming中但会用来保障容错功能性的主要年前提,它可以使spark streaming先决条件功能性的把技术的发展统计总共据磁盘到诸如HDFS等可靠磁盘系统中但会,以供丧失时应用于。具体来感叹基于请注意两个旨在维修服务:
高度集中暴发失败时并不需要重算的长时间总共。Spark streaming可以通过转成平面图的谱系平面图来重算长时间,很高阶别年前提则可以高度集中并不需要在转成平面图中但会回溯多远。 获取BIOS应用程序容错。如果迳计算出来技术的发展中但会的BIOS应用程序崩溃了,你可以重启BIOS应用程序并让BIOS应用程序从很高阶别丧失,这样spark streaming就可以读取此年前开始运行的应用程序检视统计总共据的预期,并从那里之年前。7. checkpoint和众所周知化年前提的并不相同之东南侧?
最主要的并不相同之东南侧在于众所周知化只是将统计总共据置放BlockManager中但会,但是RDD的lineage(血缘彼此间,仰赖彼此间)是恒定的。但是checkpoint拒绝执行再多此后,rdd早就无法此年前便是的仰赖rdd了,而只有一个擅自为其另设的checkpointRDD,checkpoint此后rdd的lineage就扭曲了。
众所周知化的统计总共据清空的有意味著愈来愈大,因为端口的短路但会造成了磁盘器、文档系统的统计总共据清空。但是checkpoint的统计总共据多半是置放很高比如说的文档系统中但会,比如HDFS中但会,所以统计总共据清空有意味著来得较很高
8. RDD年前提阐释吗?
rdd产自德式稳定功能性统计总共据集,简单的阐释变为一种统计总共据结构,是spark软件系统上的常用货币。所有测度都是基于rdd来拒绝执行的,并不相同的情节但会有并不相同的rdd充分依靠类,但是都可以透过彼此间叠加。rdd拒绝执行每一次中但会但会形变为dag平面图,然后形变为lineage确保容错功能性等。从物理的角度来看rdd磁盘的是block和node中但会间的映射。 RDD是spark获取的核心形式化,全都称之为稳定功能性产自德式统计总共据集。 RDD在本质是一个hdfs文档,在形式化上是一种金属元素集合,包涵了统计总共据。它是被中区的,分为多个中区,每个中区产自在集群中但会的并不相同查找上,从而让RDD中但会的统计总共据可以被并行比如说(产自德式统计总共据集) 比如有个RDD有90W统计总共据,3个partition,则每个中区上有30W统计总共据。RDD多半通过Hadoop上的文档,即HDFS或者HIVE表来创立,还可以通过客户端界面中但会的集合来创立;RDD最重要的优点就是容错功能性,可以终后端从端口失败中但会丧失过来。即如果某个查找上的RDD partition因为端口短路,造成了统计总共据清空,那么RDD可以通过自己的统计总共据举例新的计算出来该partition。这一切对应用于者都是透明的。 RDD的统计总共据普通客户端置放文档系统中但会,但是当文档系统天然资源不足时,spark但会终后端将RDD统计总共据复制到磁盘器。比如某查找文档系统仅仅检视20W统计总共据,那么这20W统计总共据就但会取出文档系统中但会计算出来,剩下10W放到磁盘器中但会。RDD的稳定功能性体现在于RDD上终后端透过文档系统和磁盘器中但会间权衡和预设的年前提。9. Spark streaming以及基本上管理工作基本概念?
Spark streaming是spark core API的一种扩展,可以用于透过大数目、很高吞吐量、容错的可视统计总共据迳的检视。
它大力支持从多种统计总共据源读取统计总共据,比如Kafka、Flume、Twitter和TCP Socket,并且很难应用于测度比如map、reduce、join和window等来检视统计总共据,检视后的统计总共据可以存放到文档系统、统计索引等磁盘中但会。
Spark streaming实际上的基本上管理工作基本概念是:遵从可视重定向统计总共据迳,然后将统计总共据复建分变为batch,比如每收集一秒的统计总共据封装变为一个batch,然后将每个batch转交spark的计算出来柴油发动机透过检视,就此但会生产东南侧一个结果统计总共据迳,其中但会的统计总共据也是一个一个的batch组变为的。
移步:4w字Spark调优实乃(推荐收藏)
10. DStream以及基本上管理工作基本概念?
DStream是spark streaming获取的一种很高阶形式化,亦然了一个持续促使的统计总共据迳。 DStream可以通过重定向统计总共据源来创立,比如Kafka、flume等,也可以通过其他DStream的进阶函总共来创立,比如map、reduce、join和window等。 DStream实际上却是促使归因于RDD,每个RDD包涵了一个一段时间内的统计总共据。 Spark streaming一定是有一个重定向的DStream接收统计总共据,按照时间分界变为一个一个的batch,并转成为一个RDD,RDD的统计总共据是密集在各个子端口的partition中但会。11. spark有哪些缓冲器?
master:管理机构集群和端口,不作准备计算出来。 worker:计算出来端口,进程本身不作准备计算出来,和master汇报。 Driver:开始运行应用程序的main原理,创立spark context对象。 spark context:高度集中整个application的生命周期,最主要dagsheduler和task scheduler等缓冲器。 client:客户端审核应用程序的对面。12. spark管理工作年前提?
客户端在client后端审核施作后,但会由Driver开始运行main原理并创立spark context上下文。拒绝执行add测度,形变为dag平面图重定向dagscheduler,按照add中但会间的仰赖彼此间分界stage重定向task scheduler。task scheduler但会将stage分界为task set上交到各个端口的executor中但会拒绝执行。
13. 感叹下周长仰赖和窄仰赖
周长仰赖:
本质就是shuffle。弟RDD的每一个partition中但会的统计总共据,都但会通信一部分到下一个子RDD的每一个partition中但会,此时但会用到弟RDD和子RDD的partition中但会间很强交互错综多样的彼此间,这种持续功能性就叫作两个RDD中但会间是周长仰赖。
窄仰赖:
弟RDD和子RDD的partition中但会间的对应彼此间是方的的。
14. Spark主备预设年前提基本概念知道吗?
Master严格来说可以配置两个,Spark原生的standalone模德式是大力支持Master主备预设的。当Active Master端口挂掉以后,我们可以将Standby Master预设为Active Master。
Spark Master主备预设可以基于两种年前提,一种是基于文档系统的,一种是基于ZooKeeper的。
基于文档系统的主备预设年前提,并不需要在Active Master挂掉此后手动预设到Standby Master上;
而基于Zookeeper的主备预设年前提,可以充分依靠终后端预设Master。
15. spark解决了hadoop的哪些弊端?
MR:形式化层次较很高,并不需要应用于手工代码来再多变为应用程序撰写,应用于上难以上手; Spark:Spark采用RDD计算出来基本上概念,简单容易上手。 MR:只获取map和reduce两个比如说,阐释力加上; Spark:Spark采用愈来愈加丰富的测度基本上概念,最主要map、flatmap、groupbykey、reducebykey等; MR:一个job仅仅包涵map和reduce两个先决条件,多样的任务并不需要包涵很多个job,这些job中但会间的管理机构以来并不需要整合者自己透过管理机构; Spark:Spark中但会一个job可以包涵多个叠加比如说,在分派时可以生变为多个stage,而且如果多个map比如说的中区恒定,是可以放在同一个task里面去拒绝执行; MR:中但会间结果置放hdfs中但会; Spark:Spark的中但会间结果一般存在文档系统中但会,只有当文档系统以致于了,才但会拿取本地磁盘器,而不是hdfs; MR:只有等到所有的map task拒绝执行再多毕后才能拒绝执行reduce task; Spark:Spark中但会中区相同的叠加构变为迳水线在一个task中但会拒绝执行,中区并不相同的并不需要透过shuffle比如说,被分界变为并不相同的stage并不需要之年前年前进右边的stage拒绝执行再多才能拒绝执行。 MR:只适宜batch批检视,复杂程度很高,对于交互德式检视和可视检视大力支持以致于; Spark:Spark streaming可以将迳复建变为时间时间延迟的batch透过检视,可视计算出来。16. 统计总共据平直的归因于和前提?
统计总共据平直以为着某一个或者某几个partition的统计总共据除此以外大,造成了这几个partition上的计算出来并不需要要大花费极其长的时间。
在spark中但会同一个客户端界面分界变为多个stage,这些stage中但会间是串行拒绝执行的,而一个stage里面的多个task是可以并行拒绝执行,task比例由partition比例同意,如果一个partition的比例除此以外大,那么造成了这个task拒绝执行时间很长,造成了接下来的stage难以拒绝执行,从而造成了整个job拒绝执行减慢。
避免统计总共据平直,一般是要选用最合适的key,或者自己概念相关的partitioner,通过加盐或者数据迳第二大值来复建分这些key,从而将这些统计总共据密集到并不相同的partition去拒绝执行。
如下测度但会造成了shuffle比如说,是造成了统计总共据平直意味著暴发的这样一来所在:groupByKey;reduceByKey;aggregaByKey;join;cogroup;
17. 你用sparksql检视的时候, 检视每一次中但会用的dataframe还是反之亦然写的sql?为什么?
这个弊端的宗旨是问你spark sql 中但会dataframe和sql的并不相同之东南侧,从拒绝执行基本概念、比如说简便某种程度和自概念某种程度来量化这个弊端。
18. 现场写一个应考题
有hdfs文档,文档每行的XML为文学作品ID,客户端id,客户端功能性倾向。请用一个spark任务充分依靠请注意机能:统计每个文学作品对应的客户端(去重后)的功能性倾向产自。驱动XML如下:文学作品ID,男功能性客户端总共量,女功能性客户端总共量
答案:
sc.textfile() .flatmap(.split(","))//分立变为作
品ID,客户端id,客户端功能性倾向
.map(((_.1,_._2),1))//((文学作品id,客户端功能性倾向),1)
.reduceByKey(_+_)//((文学作品id,客户端功能性倾向),n)
.map(_._1._1,_._1._2,_._2)//(文学作品id,客户端功能性倾向,n)
19. RDD中但会reduceBykey与groupByKey哪个精度好,为什么
reduceByKey:reduceByKey但会在结果发送至reducer此年前但会对每个mapper在本地透过merge,有点十分相似在MapReduce中但会的combiner。这样做的好东南侧在于,在map后端透过一次reduce此后,统计开销但会大大上升,从而上升通信,确保reduce后端很难愈来愈快的透过结果计算出来。
groupByKey:groupByKey但会对每一个RDD中但会的value第二大值透过聚合形变为一个序列(Iterator),【注意尚硅谷,巧妙学IT】此比如说暴发在reduce后端,所以势必但会将所有的统计总共据通过网络透过通信,所致不必要的浪费。同时如果统计开销十分大,意味著还但会所致OutOfMemoryError。
所以在透过大量统计总共据的reduce比如说时候建议应用于reduceByKey。不仅可以提很高飞行速度,还可以能避免应用于groupByKey所致的文档系统迳出弊端。
20. Spark master HA各别预设每一次不但会影响到集群就有施作的开始运行,为什么
不但会的。
因为应用程序在开始运行此年前,早就获准过天然资源了,driver和Executors点对点,不并不需要和master透过点对点的。
21. spark master应用于zookeeper透过ha,有哪些源统计总共据存放到Zookeeper里面
spark通过这个匹配spark.deploy.zookeeper.dir指定master元统计总共据在zookeeper中但会存放的位置,最主要Worker,Driver和Application以及Executors。standby端口要从zk中但会,取得元统计总共据信息,丧失集群开始运行长时间,才能实质之年前获取维修服务,施作审核天然资源获准等,在丧失年前是不能遵从催促的。
1、在Master预设的每一次中但会,所有的早就在开始运行的应用程序唯长时间开始运行!
因为Spark Application在开始运行年前就早就通过Cluster Manager取得了
计算出来天然资源,所以在开始运行时Job本身的
分派和检视和Master是无法任何彼此间。
2、在Master的预设每一次中但会唯一的影响是不能审核一新Job:
一方面不很难审核一新客户端界面给集群,
因为只有Active Master才能遵从一新应用程序的审核催促;
另外一方面,早就开始运行的应用程序中但会也不很难因
Action比如说即会一新Job的审核催促。
文中源自太阳光品世界
推荐阅读:
大统计总共据整合 Spark 模组之SparkSQL
大统计总共据整合之Spark入门
大统计总共据整合之Spark 基本入门学习
「转」大统计总共据整合之Spark面试八股文
。西安肿瘤医院地址重庆白癜风治疗哪家好
南京治疗早泄
支气管炎咳嗽
阳康后仍然呼吸困难?别忽视新冠病毒的危害,抗病毒治疗很重要!
牛皮癣
感冒咳嗽怎么办
全身乏力

-
因特网概念股走高,嘉楠科技涨超9%
写真 2025-10-2412月7日(周二),美股帐户概念股走高,截至发稿,嘉楠新材料(CAN.US)、Marathon Digital(MARA.US)涨超9%,亿邦国际上(EBON.US)涨超8%,第九城市(NCTY.US

-
没人要的私人堆放,成了老外的财富密码
视频 2025-10-24,而历险秃鹰则用排泄物开挖许诺一个暴富的也许。你这世界想像仅仅,堆抽那时候的暴富神话能有多令人遗憾。堆抽历险电视一新闻《堆抽战争》(Storage Wars)女主播Dan

-
[路演]风光股份:募投项目完全达产之后有望实现逾20亿销售额
星闻 2025-10-24美景网12同年7日讯 12同年7日傍晚,自然风光股份(301100.SZ)首次公开出版发行投资人并在创业板上市网上路演在美景·路演天下举行。投资者交流每一集,自然风光股份常务董事、总经理王磊表示

-
[路演]风光持股:已成功打通从苯酚到烷基酚再到抗氧剂完整工艺合成链
综艺 2025-10-24全景网12翌年7日讯 12翌年7日清晨,风景秀丽股份(301100.SZ)首次海外版股市并在港交所上市网上路演在全景·路演君子举行。股市市场交流该集,风景秀丽股份董事、副总经理、董事会秘书李大双

-
华西公司股票:维持吉利汽车买入评级 新能源表现亮眼
综艺 2025-10-24技术硬核的优势,另一方面月内在H&M力、系列产品定义及不断创新营销等实现陡坡起跑,市占率加快增加,剑指全球性一线车企。为了更好地体现一些公司的低价效用,运用于分部净值法:1)想像中镱:目