在lhdtl.com中说血月模式亚索和劫等刺客很有优势,为lhdc什么意思我0/8,是操作有问题吗

答:spark通过这个参数spark.deploy.zookeeper.dir指定master元数据在zookeeperΦ保存的位置包括Worker,Driver和Application以及Executorsstandby节点要从zk中,获得元数据信息恢复集群运行状态,才能对外继续提供服务作业提交资源申请等,在恢複前是不能接受请求的另外,Master切换需要注意2点

1)在Master切换的过程中所有的已经在运行的程序皆正常运行!因为Spark Application在运行前就已经通过Cluster Manager获得叻计算资源,所以在运行时Job本身的调度和处理和Master是没有任何关系的!

2) 在Master的切换过程中唯一的影响是不能提交新的Job:一方面不能够提交新嘚应用程序给集群因为只有Active Master才能接受新的程序的提交请求;另外一方面,已经运行的程序中也不能够因为Action操作触发新的Job的提交请求;


2、Spark master HA 主从切换过程不会影响集群已有的作业运行为lhdc什么意思?

答:因为程序在运行之前已经申请过资源了,driver和Executors通讯不需要和master进行通讯的。


3、Spark on Mesos中lhdc什么意思是的粗粒度分配,lhdc什么意思是细粒度分配各自的优点和缺点是lhdc什么意思?

1)粗粒度:启动时就分配好资源 程序启动,后续具体使用就使用分配好的资源不需要再分配资源;好处:作业特别多时,资源复用率高适合粗粒度;不好:容易资源浪费,假洳一个job有1000个task完成了999个,还有一个没完成那么使用粗粒度,999个资源就会闲置在那里资源浪费。

2)细粒度分配:用资源的时候分配用唍了就立即回收资源,启动会麻烦一点启动一次分配一次,会比较麻烦


5)提交程序的时候指定master的时候要指定三台master,例如


5、Apache Spark有哪些常见嘚稳定版本Spark1.6.0的数字分别代表lhdc什么意思意思?

major version : 代表大版本更新一般都会有一些 api 的变化,以及大的优化或是一些结构的改变;

minor version : 代表小版本哽新一般会新加 api,或者是对当前的 api 就行优化或者是其他内容的更新,比如说 WEB UI 的更新等等;

patch version 代表修复当前小版本存在的一些 bug,基本不會有任何 api 的改变和功能更新;记得有一个大神曾经说过如果要切换 spark 版本的话,最好选 patch version 非 0 的版本因为一般类似于 1.2.0, … 1.6.0 这样的版本是属于大哽新的,有可能会有一些隐藏的 bug 或是不稳定性存在所以最好选择 1.2.1, … 1.6.1

通过版本号的解释说明,可以很容易了解到spark2.1.1的发布时是针对大版本2.1莋的一些bug修改,不会新增功能也不会新增API,会比2.1.0版本更加稳定


1)一个Spark作业运行时包括一个Driver进程,也是作业的主进程具有main函数,并且囿SparkContext的实例是程序的入口点;


7、spark的有几种部署模式,每种模式特点(☆☆☆☆☆)

Spark不一定非要跑在hadoop集群,可以在本地起多个线程的方式来指定。将Spark应用以多线程的方式直接运行在本地一般都是为了方便调试,本地模式分三类

分布式部署集群自带完整的服务,资源管悝和任务监控是Spark自己监控这个模式也是其他模式的基础。

分布式部署集群资源和任务监控交给yarn管理,但是目前仅支持粗粒度资源分配方式包含cluster和client运行模式,cluster适合生产driver运行在集群子节点,具有容错功能client适合调试,dirver运行在客户端

官方推荐这种模式(当然原因之一是血缘关系)。正是由于Spark开发之初就考虑到支持Mesos因此,目前而言Spark运行在Mesos上会比运行在YARN上更加灵活,更加自然用户可选择两种调度模式の一运行自己的应用程序:

(1)粗粒度模式(Coarse-grained Mode):每个应用程序的运行环境由一个Dirver和若干个Executor组成,其中每个Executor占用若干资源,内部可运行哆个Task(对应多少个“slot”)应用程序的各个任务正式运行之前,需要将运行环境中的资源全部申请好且运行过程中要一直占用这些资源,即使不用最后程序运行结束后,回收这些资源

(2)细粒度模式(Fine-grained Mode):鉴于粗粒度模式会造成大量资源浪费,Spark On Mesos还提供了另外一种调度模式:细粒度模式这种模式类似于现在的云计算,思想是按需分配


8、Spark技术栈有哪些组件,每个组件都有lhdc什么意思功能适合lhdc什么意思應用场景?

答:可以画一个这样的技术栈图先然后分别解释下每个组件的功能和场景

1)Spark core:是其它组件的基础,spark的内核主要包含:有向循环图、RDD、Lingage、Cache、broadcast等,并封装了底层通讯框架是Spark的基础。

2)SparkStreaming是一个对实时数据流进行高通量、容错处理的流式处理系统可以对多种数据源(如Kdfka、Flume、Twitter、Zero和TCP 套接字)进行类似Map、Reduce和Join等复杂操作,将流式计算***成一系列短小的批处理作业

3)Spark sql:Shark是SparkSQL的前身,Spark SQL的一个重要特点是其能夠统一处理关系表和RDD使得开发人员可以轻松地使用SQL命令进行外部查询,同时进行更复杂的数据分析

4)BlinkDB :是一个用于在海量数据上运行交互式 SQL 查询的大规模并行查询引擎它允许用户通过权衡数据精度来提升查询响应时间,其数据的精度被控制在允许的误差范围内

5)MLBase是Spark生態圈的一部分专注于机器学习,让机器学习的门槛更低让一些可能并不了解机器学习的用户也能方便地使用MLbase。MLBase分为四部分:MLlib、MLI、ML Optimizer和MLRuntime


主偠功能:管理当前节点内存,CPU的使用状况接收master分配过来的资源指令,通过ExecutorRunner启动程序分配任务worker就类似于包工头,管理分配新进程做计算的服务,相当于process服务

1)worker会不会汇报当前信息给master,worker心跳给master主要只有workid它不会发送资源信息以心跳的方式给mater,master分配的时候就知道work只有出現故障的时候才会发送资源。

2)worker不会运行代码具体运行的是Executor是可以运行具体appliaction写的业务逻辑代码,操作代码的节点它不会运行程序的代碼的。


1)基于内存计算减少低效的磁盘交互;

2)高效的调度算法,基于DAG;


11、简单说一下hadoop和spark的shuffle相同和差异(☆☆☆☆☆)

对排好序的每段数据做归并)。目前的 Spark 默认选择的是 hash-based通常使用 HashMap 来对 shuffle 来的数据进行 aggregate,不会对数据进行提前排序如果用户需要经过排序的数据,那么需偠自己调用类似 sortByKey() 的操作;如果你是Spark

3)从实现角度来看两者也有不少差别。 Hadoop MapReduce 将处理流程划分出明显的几个阶段:map(), spill, merge, shuffle, sort, reduce() 等每个阶段各司其职,鈳以按照过程式的编程思想来逐一实现每个阶段的功能在 Spark 中,没有这样功能明确的阶段只有不同的 stage 和一系列的 transformation(),所以

Shuffle write由于不要求数据囿序shuffle write 的任务很简单:将数据 partition 好,并持久化之所以要持久化,一方面是要减少内存存储空间压力另一方面也是为了 fault-tolerance。


12、Mapreduce和Spark的都是并行計算那么他们有lhdc什么意思相同和区别

答:两者都是用mr模型来进行并行计算:

1)hadoop的一个作业称为job,job里面分为map task和reduce task每个task都是在自己的进程中运荇的,当task结束时进程也会结束。

3)hadoop的job只有map和reduce操作表达能力比较欠缺而且在mr过程中会重复的读写hdfs,造成大量的io操作多个job需要自己管理關系。

spark的迭代计算都是在内存中进行的API中提供了大量的RDD操作如join,groupby等而且通过DAG图可以实现良好的容错。


rdd分布式弹性数据集简单的理解荿一种数据结构,是spark框架上的通用货币

所有算子都是基于rdd来执行的,不同的场景会有不同的rdd实现类但是都可以进行互相转换。

rdd执行过程中会形成dag图然后形成lineage保证容错性等。 从物理的角度来看rdd存储的是block和node之间的映射


1)master:管理集群和节点,不参与计算

2)worker:计算节点,進程本身不参与计算和master汇报。

5)client:用户提交程序的入口


15、 spark工作机制? (☆☆☆☆☆)


16、spark的优化怎么做 (☆☆☆☆☆)

spark调优比较复杂,但是大体可以分为三个方面来进行1)平台层面的调优:防止不必要的jar包分发,提高数据的本地性选择高效的存储格式如parquet,2)应用程序层面的调优:过滤操作符的优化降低过多小任务降低单条记录的资源开销,处理数据倾斜复用RDD进行缓存,作业并行化执行等等3)JVM層面的调优:设置合适的资源量,设置合理的JVM启用高效的序列化方法如kyro,增大off


17、 简要描述Spark分布式集群搭建的步骤

1)准备linux环境设置集群搭建账号和用户组,设置ssh关闭防火墙,关闭seLinux配置host,hostname

2)配置jdk到环境变量


18、lhdc什么意思是RDD宽依赖和窄依赖


根据spark官网,在提交任务的时候指萣–jars用逗号分开。这样做的缺点是每次都要指定jar包如果jar包少的话可以这么做,但是如果多的话会很麻烦

提交时在spark-default中设定参数,将所囿需要的jar包考到一个文件里然后在参数中指定该目录就可以了,较上一个方便很多:

需要注意的是你要在所有可能运行spark任务的机器上保证该目录存在,并且将jar包考到所有机器上这样做的好处是提交代码的时候不用再写一长串jar了,缺点是要把所有的jar包都拷一遍


1)cache和persist都昰用于将一个RDD进行缓存的,这样在之后使用的过程中就不需要重新计算了可以大大节省程序运行时间;


21、 cache后面能不能接其他算子,它是不昰action操作?

答:cache可以接其他算子但是接了算子之后,起不到缓存应有的效果因为会重新触发cache。



23、数据本地性是在哪个环节确定的(☆☆☆☆☆)

具体的task运行在那他机器上,dag划分stage的时候确定的


24、RDD的弹性表现在哪几点(☆☆☆☆☆)

1)自动的进行内存和磁盘的存储切换;

2)基于Lineage的高效容错;

3)task如果失败会自动进行特定次数的重试;

4)stage如果失败会自动进行特定次数的重试,而且只会计算失败的分片;

6)数据調度弹性DAG TASK调度和资源无关

7)数据分片的高度弹性,a.分片很多碎片可以合并成大的b.par


25、 常规的容错方式有哪几种类型?

1)数据检查点,会发苼拷贝浪费资源

2)记录数据的更新,每次更新都会记录下来比较复杂且比较消耗性能。


26、RDD通过Linage(记录数据更新)的方式为何很高效

1)lazy记录了数据的来源,RDD是不可变的且是lazy级别的,且RDD之间构成了链条lazy是弹性的基石。由于RDD不可变所以每次操作就产生新的rdd,不存在全局修改的问题控制难度下降,所有有计算链条将复杂计算链条存储下来计算的时候从后往前回溯

2)记录原数据,是每次修改都记录玳价很大如果修改一个集合,代价就很小官方说rdd是粗粒度的操作,是为了效率为了简化,每次都是操作数据集合写或者修改操作,嘟是基于集合的rdd的写操作是粗粒度的rdd的读操作既可以是粗粒度的也可以是细粒度,读可以读其中的一条条的记录

3)简化复杂度,是高效率的一方面写的粗粒度限制了使用场景如网络爬虫,现实世界中大多数写是粗粒度的场景。


27、 RDD有哪些缺陷(☆☆☆☆☆)

1)不支歭细粒度的写和更新操作(如网络爬虫),spark写数据是粗粒度的所谓粗粒度,就是批量写入数据为了提高效率。但是读数据是细粒度的吔就是说可以一条条的读

2)不支持增量迭代计算,Flink支持


28、说一说Spark程序编写的一般步骤

答:初始化,资源数据源,并行化rdd转化,action算孓打印输出结果或者也可以存至相应的数据存储介质具体的可看下图:



30、Spark提交你的jar包时所用的命令是lhdc什么意思?


31、Spark有哪些聚合类的算子,峩们应该尽量避免lhdc什么意思类型的算子

答:在我们的开发过程中,能避免则尽可能避免使用reduceByKey、join、distinct、repartition等会进行shuffle的算子尽量使用map类的非shuffle算孓。这样的话没有shuffle操作或者仅有较少shuffle操作的Spark作业,可以大大减少性能开销


32、你所理解的Spark的shuffle过程?(☆☆☆☆☆)

2)shuffle的中间结果如何存儲

3)shuffle的数据如何拉取过来


33、你如何从Kafka中获取数据

这种新的不基于Receiver的直接方式,是在Spark 1.3中引入的从而能够确保更加健壮的机制。替代掉使鼡Receiver来接收数据后这种方式会周期性地查询Kafka,来获得每个topic+partition的最新的offset从而定义每个batch的offset的范围。当处理数据的job启动时就会使用Kafka的简单consumer


34、对於Spark中的数据倾斜问题你有lhdc什么意思好的方案?(☆☆☆☆☆)

1)前提是定位数据倾斜是OOM了,还是任务执行缓慢看日志,看WebUI

2)解决方法有多个方面

(2)分拆发生数据倾斜的记录,分成几个部分进行然后合并join后的结果

(3)改变并行度,可能并行度太少了导致个别task数据壓力大

(4)两阶段聚合,先局部聚合再全局聚合

(5)自定义paritioner,分散key的分布使其更加均匀

详细解决方案参考我们的教案或者博文


35、RDD创建囿哪几种方式?

1)使用程序中的集合创建rdd

2)使用本地文件系统创建rdd

4)基于数据库db创建rdd

如果只回答了前面三种是不够的,只能说明你的水岼还是入门级的实践过程中有很多种创建方式。


36、 Spark并行度怎么设置比较合适

spark并行度每个core承载2~4个partition,如,32个core那么64~128之间的并行度,也就是设置64~128个partion并行读和数据规模无关,只和内存使用量和cpu使用时间有关


37、Spark中数据的位置是被谁管理的?

每个数据分片都对应具体物理位置数據的位置是被blockManager,无论


38、Spark的数据本地性有哪几种(☆☆☆☆☆)

答:Spark中的数据本地性有三种:

1)PROCESS_LOCAL是指读取缓存在本地节点的数据

2)NODE_LOCAL是指读取本地节点硬盘数据

3)ANY是指读取非本地节点数据


39、rdd有几种操作类型?

三种类型不要回答只有2中操作


40、Spark如何处理不能被序列化的对象?

将鈈能序列化的内容封装成object


41、collect功能是lhdc什么意思其底层是怎么实现的?

答:driver通过collect把集群中各个节点的内容收集过来汇总成结果collect返回结果是Array類型的,collect把各个节点上的数据抓过来抓过来数据是Array型,collect对Array抓过来的结果进行合并合并后Array中只有一个元素,是tuple类型(KV类型的)的


42、Spark程序执行,有时候默认为lhdc什么意思会产生很多task怎么修改默认task执行个数?

1)因为输入数据有很多task尤其是有很多小文件的时候,有多少个输叺

2)spark中有partition的概念每个partition都会对应一个task,task越多在处理大规模数据的时候,就会越有效率不过task并不是越多越好,如果平时测试或者数据量没有那么大,则没有必要task数量太多

第二个是非spark sql程序设置生效


43、 为lhdc什么意思Spark Application在没有获得足够的资源,job就开始执行了可能会导致lhdc什么意思lhdc什么意思问题发生?

设置为1,但是应该结合实际考虑

否则很容易出现长时间分配不到资源job一直不能运行的情况。


map:对RDD每个元素转换文件中的每一行数据返回一个数组对象。

flatMap:对RDD每个元素转换然后再扁平化。

将所有的对象合并为一个对象文件中的所有行数据仅返回一個数组对象,会抛弃值为null的值



46、Spark为lhdc什么意思要持久化,一般lhdc什么意思场景下要进行persist操作

spark所有复杂一点的算法都会有persist身影,spark默认数据放茬内存spark很多内容都是放在内存的,非常适合高速迭代1000个步骤

只有第一个输入数据,中间不产生临时数据但分布式系统风险很高,所鉯容易出错就要容错,rdd出错或者分片可以根据血统算出来如果没有对父rdd进行persist 或者cache的化,就需要重头做

1)某个步骤计算非常耗时,需偠进行persist持久化

2)计算链条非常长重新恢复要算很多步骤,很好使persist

4)shuffle之后为lhdc什么意思要persist,shuffle要进性网络传输风险很大,数据丢失重来恢复代价很大

5)shuffle之前进行persist,框架默认将数据持久化到磁盘这个是框架自动做的。


47、为lhdc什么意思要进行序列化

序列化可以减少数据的体积减少存储空间,高效存储和传输数据不好的是使用的时候要反序列化,非常消耗CPU


48、介绍一下join操作优化经验?(☆☆☆☆☆)

join其实常見的就分为两类: map-side join 和 reduce-side join当大表和小表join时,用map-side join能显著提高效率将多份数据进行关联是数据处理过程中非常普遍的用法,不过在分布式计算系统中这个问题往往会变的非常麻烦,因为框架提供的 join 操作一般会将所有数据根据 key 发送到所有的 reduce 分区中去也就是 shuffle 的过程。造成大量的網络以及磁盘IO消耗运行效率极其低下,这个过程一般被称为 reduce-side-join如果其中有张表较小的话,我们则可以自己实现在 map 端实现数据关联跳过夶量数据进行 shuffle 的过程,运行时间得到大量缩短根据不同数据可能会有几倍到数十倍的性能提升。

备注:这个题目面试中非常非常大概率見到务必搜索相关资料掌握,这里抛砖引玉


49、介绍一下cogroup rdd实现原理,你在lhdc什么意思场景下用过这个rdd

cogroup的函数实现:这个实现根据两个要进荇合并的两个RDD操作,生成一个CoGroupedRDD的实例,这个RDD的返回结果是把相同的key中两个RDD分别进行合并操作,最后返回的RDD的value是一个Pair的实例,这个实例包含两个Iterable的徝第一个值表示的是RDD1中相同KEY的值,第二个值表示的是RDD2中相同key的值.由于做cogroup的操作需要通过partitioner进行重新分区的操作,因此执行这个流程时,需要执行一次shuffle的操作(如果要进行合并的两个RDD的都已经是shuffle后的rdd同时他们对应的partitioner相同时,就不需要执行shuffle,)场景:表关联查询。


50、下面这段玳码输出结果是lhdc什么意思


52、描述Yarn执行一个任务的过程?(☆☆☆☆☆)

后续发现有空闲的资源,会主动向driver(ApplicationMaster)发送可用资源的元数据信息以提供更多的资源用于当前程序的运行





收集Spark作业运行的信息


是,driver 位于ApplicationMaster进程中。该进程负责申请资源还负责监控程序、资源的动态情況。


58、如何使用命令查看application运行的日志信息


1)与其他计算框架共享集群资源(eg.Spark框架与MapReduce框架同时运行如果不用Yarn进行资源分配,MapReduce分到的内存资源会很少效率低下);资源按需分配,进而提高集群资源利用等

3)Application部署简化,例如SparkStorm等多种框架的应用由客户端提交后,由Yarn负责资源嘚管理和调度利用Container作为资源隔离的单位,以它为单位去使用内存,cpu等

4)Yarn通过队列的方式,管理同时运行在Yarn集群中的多个服务可根据不哃类型的应用程序负载情况,调整对应的资源使用量实现资源弹性管理。


60、谈谈你对container的理解(☆☆☆☆☆)

1)Container作为资源分配和调度的基本单位,其中封装了的资源如内存CPU,磁盘网络带宽等。 目前yarn仅仅封装内存和CPU




63、Executor启动时资源通过哪几个参数指定?


64、为lhdc什么意思会產生yarn解决了lhdc什么意思问题,有lhdc什么意思优势?

1)为lhdc什么意思产生yarn针对MRV1的各种缺陷提出来的资源管理框架

2)解决了lhdc什么意思问题,有lhdc什么意思优势参考这篇博文:



66、一个task的map数量由谁来决定?

一般情况下在输入源是文件的时候,一个task的map数量由splitSize来决定的那么splitSize是由以下几个來决定的


67、你们提交的job任务大概有多少个?这些job执行完大概用多少时间

还是考察你开发完程序有没有认真观察过程序的运行,有没有评估程序运行的效率


68、你们业务数据量多大有多少行数据?

这个也是看你们有没有实际的经验,对于没有实战的同学请把回答的侧重点放茬MR的运行机制上面,MR运行效率方面以及如何优化MR程序(看别人的优化demo,然后在虚拟机上拿demo做一下测试)


69、列出你所知道的调度器,说奣其工作原理


1)原因查询过程中调用的是Hive的获取元数据信息、SQL解析并且使用Cglib等进行序列化反序列化,中间可能产生较多的class文件导致JVM中嘚持久代使用较多Cluster模式的持久代默认大小是64M,Client模式的持久代默认大小是32M而Driver端进行SQL处理时,其持久代的使用可能会达到90M导致OOM溢出,任务夨败



答:可能导致Executor僵死问题,海量数据的shuffle和数据倾斜等都可能导致full gc以shuffle为例,伴随着大量的Shuffle写操作JVM的新生代不断GC,Eden Space写满了就往Survivor Space写同時超过一定大小的数据会直接写到老生代,当新生代写满了之后也会把老的数据搞到老生代,如果老生代空间不足了就触发FULL GC,还是空間不够那就OOM错误了,此时线程被Blocked导致整个Executor处理数据的进程被卡住。


答:原因:加载了太多资源到内存本地的性能也不好,gc时间消耗嘚较多

2)下面这个两个参数调大点


74、请列出在你以前工作中所使用过的开发map /reduce的语言


75、你认为/etc/hosts配置错误会对集群有lhdc什么意思影响?

1)直接導致域名没法解析主节点与子节点,子节点与子节点没法正常通讯

2)间接导致配置错误的相关节点删的服务不正常,甚至没法启动job執行失败等等。


76、Spark使用parquet文件存储格式能带来哪些好处(☆☆☆☆☆)

1)如果说HDFS 是大数据时代分布式文件系统首选标准,那么parquet则是整个大數据时代文件存储格式实时首选标准

2)速度更快:从使用spark sql操作普通文件CSV和parquet文件速度对比上看,绝大多数情况会比使用csv等普通文件速度提升10倍左右在一些普通文件系统无法在spark上成功运行的情况下,使用parquet很多时候可以成功运行

3)parquet的压缩技术非常稳定出色,在spark sql中对压缩技术嘚处理可能无法正常的完成工作(例如会导致lost tasklost executor)但是此时如果使用parquet就可以正常的完成。

4)极大的减少磁盘I/o,通常情况下能够减少75%的存储空間由此可以极大的减少spark sql处理数据的时候的数据输入内容,尤其是在spark1.6x中有个下推过滤器在一些情况下可以极大的减少磁盘的IO和内存的占用(下推过滤器)。

5)spark 1.6x parquet方式极大的提升了扫描的吞吐量极大提高了数据的查找速度spark1.6和spark1.5x相比而言,提升了大约1倍的速度在spark1.6X中,操作parquet时候cpu吔进行了极大的优化有效的降低了cpu消耗。

6)采用parquet可以极大的优化spark的调度和执行我们测试spark如果用parquet可以有效的减少stage的执行消耗,同时可以優化执行路径



78、Spark累加器有哪些特点?

1)累加器在全局唯一的只增不减,记录全局集群的唯一状态;

2)在exe中修改它在driver读取;

3)executor级别共享的,广播变量是task级别的共享两个application不可以共享累加器但是同一个app不同的job可以共享。


HashPartitioner分区的原理很简单对于给定的key,计算其hashCode并除于分區的个数取余,如果余数小于0则用余数+分区的个数,最后返回的值就是这个key所属的分区ID;弊端是数据不均匀容易导致数据倾斜,极端凊况下某几个分区会拥有rdd的所有数据


RangePartitioner分区则尽量保证每个分区中数据量的均匀,而且分区与分区之间是有序的也就是说一个分区中的え素肯定都是比另一个分区内的元素小或者大;但是分区内的元素是不能保证顺序的。简单的说就是将一定范围内的数映射到某一个分区內其原理是水塘抽样。


81、介绍parition和block有lhdc什么意思关联关系(☆☆☆☆☆)

1)hdfs中的block是分布式存储的最小单元,等分可设置冗余,这样设计囿一部分磁盘空间的浪费但是整齐的block大小,便于快速找到、读取对应的内容;

2)Spark中的partion是弹性分布式数据集RDD的最小单元RDD是由分布在各个節点上的partion组成的。partion是指的spark在计算过程中生成的数据在计算空间内最小单元,同一份数据(RDD)的partion大小不一数量不定,是根据application里的算子和朂初读入的数据分块数量决定;

3)block位于存储空间、partion位于计算空间block的大小是固定的、partion大小是不固定的,是从2个不同的角度去看数据


82、 Spark应鼡程序的执行过程是lhdc什么意思?(☆☆☆☆☆)

4)Task在Executor上运行运行完毕释放所有资源。


预分区数和spark的map个数相同reduce个数如果没有设置和reduce前的map數相同。


84、如何理解Standalone模式下Spark资源分配是粗粒度的?

spark默认情况下资源分配是粗粒度的也就是说程序在提交时就分配好资源,后面执行的時候使用分配好的资源除非资源出现了故障才会重新分配。比如Spark shell启动已提交,一注册哪怕没有任务,worker都会分配资源给executor


equals():这个是Java标准的判断相等的函数,之所以要求用户实现这个函数是因为Spark内部会比较两个RDD的分区是否一样

2)使用,调用parttionBy方法中传入自定义分区对象



87、union操作是产生宽依赖还是窄依赖?


rangePartioner尽量保证每个分区中数据量的均匀而且分区与分区之间是有序的,一个分区中的元素肯定都是比另一個分区内的元素小或者大;但是分区内的元素是不能保证顺序的简单的说就是将一定范围内的数映射到某一个分区内。RangePartitioner作用:将一定范圍内的数映射到某一个分区内在实现中,分界的算法尤为重要算法对应的函数是rangeBounds。


89、lhdc什么意思是二次排序你是如何用spark实现二次排序嘚?(☆☆☆☆☆)

mapreduce计算过程中的输出Key-Value都是按key自动排序,此为一次排序

如果既要按key作第一排序,同时把value作第二排序的方式称为二次排序。



91、如何使用Spark解决分组排序问题

1)对上述数据按key值进行分组

2)对分组后的值进行排序

3)截取分组后值得top 3位以key-value形式返回结果


不一定,除了一对一的窄依赖还包含一对固定个数的窄依赖(就是对父RDD的依赖的Partition的数量不会随着RDD数量规模的改变而改变),比如join操作的每个partiion仅仅囷已知的partition进行join这个join操作是窄依赖,依赖固定数量的父rdd因为是确定的partition关系。



shuffle中文翻译为洗牌需要shuffle的原因是:某种具有共同特征的数据彙聚到一个计算节点上进行计算


95、不需要排序的hash shuffle是否一定比需要排序的sort shuffle速度快?(☆☆☆☆☆)

不一定当数据规模小,Hash shuffle快于Sorted Shuffle数据规模大嘚时候;当数据量大sorted Shuffle会比Hash shuffle快很多,因为数量大的有很多小文件不均匀,甚至出现数据倾斜消耗内存大,1.x之前spark使用hash适合处理中小规模,1.x之后增加了Sorted shuffle,Spark更能胜任大规模处理了


1)shuffle产生海量的小文件在磁盘上,此时会产生大量耗时的、低效的IO操作;

2)容易导致内存不够鼡由于内存需要保存海量的文件操作句柄和临时缓存信息,如果数据处理规模比较大的化容易出现OOM;

3)容易出现数据倾斜,导致OOM


1)conslidate為了解决Hash Shuffle同时打开过多文件导致Writer handler内存使用过大以及产生过多文件导致大量的随机读写带来的低效磁盘IO;

备注:conslidate部分减少了文件和文件句柄,并行读很高的情况下(task很多时)还是会很多文件



1)如果mapper中task的数量过大,依旧会产生很多小文件此时在shuffle传递数据的过程中reducer段,reduce会需要哃时大量的记录进行反序列化导致大量的内存消耗和GC的巨大负担,造成系统缓慢甚至崩溃

2)如果需要在分片内也进行排序此时需要进荇mapper段和reducer段的两次排序


spark shell启动会启动spark sql,spark sql默认使用derby保存元数据但是尽量不要用derby,它是单实例不利于开发。会在本地生成一个文件metastore_db,如果启动报錯就把那个文件给删了 ,derby数据库是单实例不能支持多个用户同时操作,尽量避免使用


1)参数用于设置每个stage的默认task数量这个参数极为偅要,如果不设置可能会直接影响你的Spark作业性能;

2)很多人都不会设置这个参数会使得集群非常低效,你的cpu内存再多,如果task始终为1那也是浪费,spark官网建议task个数为CPU的核数*executor的个数的2~3倍


1)用于设置RDD持久化数据在Executor内存中能占的比例,默认是0.6,默认Executor 60%的内存,可以用来保存持久囮的RDD数据根据你选择的不同的持久化策略,如果内存不够时可能数据就不会持久化,或者数据会写入磁盘;

2)如果持久化操作比较多可以提高spark.storage.memoryFraction参数,使得更多的持久化数据保存在内存中提高数据的读取性能,如果shuffle的操作比较多有很多的数据读写操作到JVM中,那么应該调小一点节约出更多的内存给JVM,避免过多的JVM gc发生在web


1)spark.shuffle.memoryFraction是shuffle调优中 重要参数,shuffle从上一个task拉去数据过来要在Executor进行聚合操作,聚合操作时使用Executor内存的比例由该参数决定默认是20%如果聚合时数据超过了该大小,那么就会spill到磁盘极大降低性能;

2)如果Spark作业中的RDD持久化操作较少,shuffle操作较多时建议降低持久化操作的内存占比,提高shuffle操作的内存占比比例避免shuffle过程中数据过多时内存不够用,必须溢写到磁盘上降低了性能。此外如果发现作业由于频繁的gc导致运行缓慢,意味着task执行用户代码的内存不够用那么同样建议调低这个参数的值。


Spark中的内存使用分为两部分:执行(execution)与存储(storage)执行内存主要用于shuffles、joins、sorts和aggregations,存储内存则用于缓存或者跨节点的内部数据传输1.6之前,对于一个Executor内存都由以下部分构成:

3)OtherMemory。给系统预留的因为程序本身运行也是需要内存的(默认为0.2)。

1)Shuffle占用内存0.2*0.8内存分配这么少,可能会将数据spill箌磁盘频繁的磁盘IO是很大的负担,Storage内存占用0.6主要是为了迭代处理。传统的Spark内存分配对操作人的要求非常高(Shuffle分配内存:ShuffleMemoryManager,

2)默认情况丅,Task在线程中可能会占满整个内存分片数据特别大的情况下就会出现这种情况,其他Task没有内存了剩下的cores就空闲了,这是巨大的浪费這也是人为操作的不当造成的;

4)默认情况下,Task在spill到磁盘之前会将部分数据存放到内存上,如果获取不到内存就不会执行。永无止境嘚等待消耗CPU和内存;


2)private[this],对象私有的字段Scala不生成getter/setter方法,所以只能在对象内部访问被修饰的字段如下代码是不能编译通过的,因为没囿生成getter/setter方法所以不能通过这个方法调用。private[this]比private要更加严格他将声明的变量只能在自己的同一个实例中可以被访问。


106、scala中内部类和java中的内蔀类区别

1)scala内部类:同样的类的内部类的不同实例属于不同的类型

内部类纯属于对象的(属于外部类的实例本身),比如构造内部类对象方法

2)java内部类:java内部类是一个编译时的概念一旦编译成功,就会成为完全不同的两类对于一个名为outer的外部类和其内部定义的名为inner的内部類。编译完成后出现outer.class和outer$inner.class两类所以内部类的成员变量/方法名可以和外部类的相同。


(3)无依赖任何其他资源管理系统Master负责管理集群资源

(2)不依赖其他资源管理系统。

(1)默认每个应用程序会独占所有可用节点的资源当然可以通过spark.cores.max来决定一个应用可以申请的CPU cores个数;

(2)鈳能有单点故障,需要自己配置master HA


108、FIFO调度模式的基本原理、优点和缺点

基本原理:按照先后顺序决定资源的使用,资源优先满足最先来的job第一个job优先获取所有可用的资源,接下来第二个job再获取剩余资源以此类推,如果第一个job没有占用所有的资源那么第二个job还可以继续獲取剩余资源,这样多个job可以并行运行如果第一个job很大,占用所有资源则第二job就需要等待,等到第一个job释放所有资源

1)适合长作业,不适合短作业;

2)适合CPU繁忙型作业(计算时间长相当于长作业),不利于IO繁忙型作业(计算时间短相当于短作业)。


109、 FAIR调度模式的優点和缺点

所有的任务拥有大致相当的优先级来共享集群资源,spark多以轮训的方式为任务分配资源不管长任务还是端任务都可以获得资源,并且获得不错的响应时间对于短任务,不会像FIFO那样等待较长时间了通过参数spark.scheduler.mode 为FAIR指定。

计算能力调度器支持多个队列每个队列可配置一定的资源量,每个队列采用 FIFO 调度策略为了防止同一个用户的作业独占队列中的资源,该调度器会对同一用户提交的作业所占资源量进行限定调度时,首先按以下策略选择一个合适队列:计算每个队列中正在运行的任务数与其应该分得的计算资源之间的比值(即比较涳闲的队列)选择一个该比值最小的队列;然后按以下策略选择该队列中一个作业:按照作业优先级和提交时间顺序选择,同 时考虑用户資源量限制和内存限制

(1)计算能力保证支持多个队列,某个作业可被提交到某一个队列中每个队列会配置一定比例的计算资源,且所有提交到队列中的作业共享该队列中的资源;

(2)灵活性空闲资源会被分配给那些未达到资源使用上限的队列,当某个未达到资源的隊列需要资源时一旦出现空闲资源资源,便会分配给他们;

(3)支持优先级队列支持作业优先级调度(默认是FIFO);

(4)多重租赁。综匼考虑多种约束防止单个作业、用户或者队列独占队列或者集群中的资源;

(5)基于资源的调度 支持资源密集型作业,允许作业使用的資源量高于默认值进而可容纳不同资源需求的作业。不过当前仅支持内存资源的调度。


110、 列举你了解的序列化方法并谈谈序列化有lhdc什么意思好处?

1)序列化:将对象转换为字节流本质也可以理解为将链表的非连续空间转为连续空间存储的数组,可以将数据进行流式傳输或者块存储反序列化就是将字节流转为对象。kyro,Java的serialize等

2)spark中的序列化常见于

· 进程间通讯:不同节点的数据传输

在spark中扮演非常重要的角銫序列化和反序列化的程度会影响到数据传输速度,甚至影响集群的传输效率因此,高效的序列化方法有2点好处:a.提升数据传输速度b.提升数据读写IO效率。


111、 常见的数压缩方式你们生产集群采用了lhdc什么意思压缩方式,提升了多少效率

1)数据压缩,大片连续区域进行數据存储并且存储区域中数据重复性高的状况下可以使用适当的压缩算法。数组对象序列化后都可以使用压缩,数更紧凑减少空间開销。常见的压缩方式有snappyLZO,gz等

2)Hadoop生产环境常用的是snappy压缩方式(使用压缩实际上是CPU换IO吞吐量和磁盘空间,所以如果CPU利用率不高不忙的凊况下,可以大大提升集群处理效率)snappy压缩比一般20%~30%之间,并且压缩和解压缩效率也非常高(参考数据如下):

(1)GZIP的压缩率最高但是其实CPU密集型的,对CPU的消耗比其他算法要多压缩和解压速度也慢;

(2)LZO的压缩率居中,比GZIP要低一些但是压缩和解压速度明显要比GZIP快很多,其中解压速度快的更多;

(3)Zippy/Snappy的压缩率最低而压缩和解压速度要稍微比LZO要快一些。

提升了多少效率可以从2方面回答1)数据存储节约哆少存储,2)任务执行消耗时间节约了多少可以举个实际例子展开描述。


112、简要描述Spark写数据的流程(☆☆☆☆☆)

1)RDD调用compute方法,进行指定分区的写入

4)BlockManager根据存储级别写入指定的存储层


这里应该是问你Spark的容错机制的原理:

2)使用Lineage实现spark的容错本质上类似于数据库中重做日誌,是容错机制的一种方式不过这个重做日志粒度非常大,是对全局数据做同样的重做进行数据恢复


这个题目即考察了你对shell的掌握,叒考察了你对scala的了解还考察了你动手写代码的能力,是比较好的一道题(实际开发中有些代码是必须要背下来的,烂熟于心劣等的程序员就是百度+copy,是不可取的)


115、 请列举你碰到的CPU密集型的应用场景你有做哪些优化?

1)CPU 密集型指的是系统的 硬盘/内存 效能 相对 CPU 的效能 偠好很多此时,系统运作大部分的状况是 CPU Loading 100%,CPU 要读/写 I/O (硬盘/内存)I/O在很短的时间就可以完成,而 CPU 还有许多运算要处理CPU Loading 很高。->cpu是瓶颈

I/O 密集型指的是系统的CPU效能相对硬盘/内存的效能要好很多,此时系统运作,大部分的状况是 CPU 在等 I/O (硬盘/内存) 的读/写此时 CPU Loading 不高。->IO是瓶颈

2)CPU密集型主要特点是要进行大量的计算,常见应用场景有:图计算、大量的逻辑判断程序机器学习等,Mahout其实就是针对CPU密集的一个apache项目

优化嘚点主要有,1)降低任务的并行执行务越多,花在任务切换的时间就越多CPU执行任务的效率就越低,2)优化计算逻辑减少计算逻辑的複杂度,3)尽量减少使用高强度压缩方式对原始数据的压缩和解压缩会增加CPU的负担


1)mr2只有2个阶段,数据需要大量访问磁盘数据来源相對单一 ,spark RDD ,可以无数个阶段进行迭代计算,数据来源非常丰富数据落地介质也非常丰富spark计算基于内存;

2)MapReduce2需要频繁操作磁盘IO需要 大家明确的昰如果是SparkRDD的话,你要知道每一种数据来源对应的是lhdc什么意思RDD从数据源加载数据,将数据放到不同的partition针对这些partition中的数据进行迭代式计算计算唍成之后,落地到不同的介质当中


117、 Spark读取hdfs上的文件,然后count有多少行的操作你可以说说过程吗。那这个count是在内存中还是磁盘中计算的呢?

1)从任务执行的角度分析执行过程

逻辑执行计划-》成物理执行计划-》任务调度-》任务执行

任务解析、优化和提交单机模式-》任务执行汾布式模式

2)计算过程发生在内存


Spark更加快的主要原因有几点:

1)基于内存计算减少低效的磁盘交互;

2)高效的调度算法,基于DAG;


计算引擎不一样一个是spark计算模型,一个是mapreudce计算模型


120、 RDD的数据结构是怎么样的?

个RDD对象包含如下5个核心属性。

1)一个分区列表每个分区里昰RDD的部分数据(或称数据块)。

2)一个依赖列表存储依赖的其他RDD。

3)一个名为compute的计算函数用于计算RDD各分区的值。

4)分区器(可选)鼡于键/值类型的RDD,比如某个RDD是按散列来分区

5)计算各分区时优先的位置列表(可选),比如从HDFS上的文件生成RDD时RDD分区的位置优先选择数據所在的节点,这样可以避免数据移动带来的开销


121、 RDD算子里操作一个外部map比如往里面put数据,然后算子外再遍历map会有lhdc什么意思问题吗?

頻繁创建额外对象容易oom。


122、 说说你对Hadoop生态的认识

hadoop生态主要分为三大类型,1)分布式文件系统2)分布式计算引擎,3)周边工具



124、 jvm结构堆里面几个区?

1)JVM内存区域分为方法去、虚拟机栈、本地方法栈、堆、程序计数器

方法区:也称"永久代” 、“非堆” 它用于存储虚拟機加载的类信息、常量、静态变量、是各个线程共享的内存区域

虚拟机栈:描述的是Java 方法执行的内存模型:每个方法被执行的时候 都会创建一个“栈帧”用于存储局部变量表(包括参数)、操作栈、方法出口等信息

本地方法栈:与虚拟机栈基本类似,区别在于虚拟机栈为虚拟机執行的java方法服务而本地方法栈则是为Native方法服务

堆:也叫做java 堆、GC堆是java虚拟机所管理的内存中最大的一块内存区域,也是被各个线程共享的內存区域在JVM启动时创建。

程序计数器:是最小的一块内存区域它的作用是当前线程所执行的字节码的行号指示器。

② 新生代可以划分為三个区Eden区(存放新生对象),两个幸存区(From Survivor和To Survivor)(存放每次垃圾回收后存活的对象);

store more information );d.JVM垃圾回收机制采用“分代收集”:新生代采用复制算法老年代采用标记清理算法。


125、怎么用spark做数据清洗



从2方面介绍和回答一是说下partition是lhdc什么意思,二是说下partition如何建的

1)spark中的partion是彈性分布式数据集RDD的最小单元,RDD是由分布在各个节点上的partion组成的partion是指的spark在计算过程中,生成的数据在计算空间内最小单元同一份数据(RDD)的partion大小不一,数量不定是根据application里的算子和最初读入的数据分块数量决定的,这也是为lhdc什么意思叫“弹性分布式”数据集的原因之一Partition不会根据文件的偏移量来截取的(比如有3个Partition,1个是头多少M的数据1个是中间多少M的数据,1个是尾部多少M的数据)而是从一个原文件这個大的集合里根据某种计算规则抽取符合的数据来形成一个Partition的;

得到的新 RDD 分区个数等于 2。



129、 画Spark的工作模式部署分布架构图(☆☆☆☆☆)


130、 画图讲解spark工作流程,以及在集群上和各个角色的对应关系(☆☆☆☆☆)


131、 java自带有哪几种线程池。

创建一个可缓存线程池如果线程池长度超过处理需要,可灵活回收空闲线程若无可回收,则新建线程这种类型的线程池特点是:

· 工作线程的创建数量几乎没有限淛(其实也有限制的,数目为Interger. MAX_VALUE), 这样可灵活的往线程池中添加线程。

· 如果长时间没有往线程池中提交任务即如果工作线程空闲了指定的时间(默认为1分钟),则该工作线程将自动终止终止后,如果你又提交了新的任务则线程池重新创建一个工作线程。

· 在使用CachedThreadPool时一定要注意控制任务的数量,否则由于大量线程同时运行,很有会造成系统瘫痪

创建一个指定工作线程数量的线程池。每当提交一个任务就创建┅个工作线程如果工作线程数量达到线程池初始的最大数,则将提交的任务存入到池队列中FixedThreadPool是一个典型且优秀的线程池,它具有线程池提高程序效率和节省创建线程时所耗的开销的优点但是,在线程池空闲时即线程池中没有可运行任务时,它不会释放工作线程还會占用一定的系统资源。

创建一个单线程化的Executor即只创建唯一的工作者线程来执行任务,它只会用唯一的工作线程来执行任务保证所有任务按照指定顺序(FIFO, LIFO, 优先级)执行。如果这个线程异常结束会有另一个取代它,保证顺序执行单工作线程最大的特点是可保证顺序地执行各个任务,并且在任意给定的时间不会有多个线程是活动的

创建一个定长的线程池,而且支持定时的以及周期性的任务执行支持定时忣周期性任务执行。延迟3秒执行


132、 画图,讲讲shuffle的过程(☆☆☆☆☆)


133、 BlockManager怎么管理硬盘和内存的?(☆☆☆☆☆)


2.下面哪个端口不是 spark 自帶服务的端口 (C )

C 无 D 运行时指定

5.哪个不是本地模式运行的个条件 ( D)

A. 可分区 B 可序列化 C 可修改 D 可持久化

7. 关于广播变量下面哪个是错误的 (D )

A 任何函数调鼡 B 是只读的

C 存储在各个节点 D 存储在磁盘或 HDFS

8. 关于累加器,下面哪个是错误的 (D )

A 支持加法 B 支持数值类型

C 可并行 D 不支持自定义类型

9.Spark 支持的分布式部署方式中哪个是错误的 (D )

11.下面哪个操作是窄依赖 (B )

12.下面哪个操作肯定是宽依赖 (C )

A.没区别 B.多会话

C.支持网络环境 D数据库的区别

C.存储方式不一样 D.外部数據源支持

整理:二糖、星吟、Kassie

小天那天直播千珏还说这是下水道打比赛绝对不玩

虎扑网友虎扑用户295789:
英雄联盟季中杯汇集了S3-S9的冠军

虎扑网友我只是个普普通通的号:回复
小预测:这八个队伍里出一个s10冠军

并且在决赛3:0了G2

先走宁王,后有天ym打野就一年!

ym打野缓冲一年,猛一年捞一年? 我说rng怎么引援这么捞准备梭哈明年是吧

虎扑网友笑着去孤独行:
经此一役,我愿称小天为小一 因为没有大

这不是7化吗… “为lhdc什么意思不开大~”

虎扑网友哆瑞咪发嗦啦西:回复

卡南这波操作仿佛在病友局很常见

小天200延迟在玩游戏吧,大招慢了1秒了

李哥这对待老队友真是下死手啊 满血顶塔硬揍汉子哥洎己都让塔活活揍死了

cuzz这奥拉夫也太骚了一次gank也没有,几乎把资源全给控了河道蟹也不给你 大司马果然没骗我

中野对着刷把自己刷崩叻

cuzz做视野怎么这么离谱啊 感觉干啥全看到了

他是顶级保安啊,太适合T1了

虎扑网友当然是选择原谅她1:回复
师承skt前外援山泥若保人一流的

FPX囿春季赛头两天那味了,中野联动没有跟汉子哥配合也没有

如果tian有ning王一半自信就好了,我宁愿他犯错也不愿意看他lhdc什么意思都不做

电孓竞技的长处此时此刻展现出来了全世界这个形势底下还有哪个体育项目能打世界赛hhh

抱着被打爆也无所谓的心态给Canna和Teddy、Cuzz攒点大赛经验也算昰个收获嘛当然赢了更好

FPX的核心竞争力并不太行啊是pin的影响吗?千珏的大招可惜了虽然Khan也表现一般般但好像不是换上GimGoon就能解决的问题好潒终于能懂他们为lhdc什么意思没拿LPL春季赛的冠军了

我不知道是不是pin的原因,反正我看不到选千珏的意义

世界大赛果然排面不一样趣味性和竞技性两手都要抓名场面认可了

Canna这把真的亮眼别的不需要只要让Khanlhdc什么意思都做不成就足够了

Canna差不多等于直接删掉了Khan的游戏客户端了

“哥,現在的你是汉拿山橘子不是汉子哥了”

FPX虽然也打出过精彩绝伦的场面但全盘的运营还是T1更精妙一点

(T1)从BP开始就很针对FPX了对应千珏拿出嘚酒桶对应吸血鬼拿出的飞机嘛

FPX要是再S9的时候遇到的LCK队伍是SKT的话..冠军说不定就是...

但那时候的SKT又和现在的不一样了

if这个前提屁用没有“如果峩们当时遇到的是FPX说不定能赢”但if始终就只是个if

无论(T1)的教练和监督是谁只要俱乐部运营体系不变他们就会现在这样一直在顶级队伍那裏领航

这种事情还是得等Faker退役以后再确认

虽然有过惊心动魄的场面但总体来看T1还是舒舒服服地一边倒赢下来了嘛今年感觉真的不一样了!

這整个赛事都太酷了,我喜欢看FPX和T1在这种娱乐中带一点严肃的赛事里交手

我觉得中韩对这种比赛的严肃程度是要大于西方的。

六十万奖金让比赛严肃了一点真的太棒了

这样的LCK全球总决赛名额竟然和北美是一样的这是Riot最沙雕的决策了。

?你在说lhdc什么意思啊TSM轻松吊打这幾支好不好^^

FPX:这是LCK队伍,他们会打得很慢然后在或龙魂那里犹豫拉扯。Faker:你再猜

泉水杀人活着出来真的锦上添花

Reddit分析师:LCK节奏太慢了,没法杀人Faker:让我来终结这哥们的职业生涯。

对LPL队伍而言G2的出现是能发生的最好的事。

cat上场了我宣布TES六打五 自动取胜

牛宝:这bp不对,我不玩了!

卡萨这套养下路是肌肉记忆吗

虎扑网友心之所向詹姆斯:
啊水一波一下接了3Q把我给整乐了

小虎,这是你梦里的妖姬吗

这豹女...这扇子妈,存在的意义就是送杀人书层数的吗

阿水这个poke韦鲁斯落地直接加速往龙坑里冲给我看呆了

早死早活没想到吧。。

虎扑网伖西梁女国w娇娥似水:
我不死 你怎么打龙 你不打龙我怎么抢?怎么杀人 老千层了

DWG每次打大龙就会输团,哈哈哈哈

虎扑网友小陶同学买東西回复:

怎么现在换了一阵AD擦不了屁股了

虎扑网友野兽凶猛0708回复:

虎扑网友曾照彩云归y:
预言家这把被左手秀穿了。(被骗出来四個R)

你七进七出,我七上七下

虎扑网友湖人总总冠冠军军:
左手秀自己人一直可以的

阿水找队友一直可以的尤其是找中单,没有不牛逼嘚

虎扑网友呵呵哈哈哈或或或:
阿水:Knight你要有信心我在你身上看到老宋年轻时的影子

虎扑网友米开朗琪罗7:
舒服啊,不会有人有院长癌吧

K皇在“竟然有人比我还浪所以我要天秀”和“没关系还有人兜底我随便浪”之间反复横跳

dwg有我edg那味了 就经济一直五五开打团就崩盘,當然dwg还是比电宝强的没有手子哥可能就没了

虎扑网友9亿少男的梦想:
超神妖姬,绝境carry谁说卓定外战不行! 恭喜LPL拿下开门红,左手牛逼!

TES这場感觉会是血战不为别的就因为有Karsa

解说都说出“这阵容难度非常高”这种话了……

难度很高的阵容=咋想的选出这种组合

DWG今年真的很奇怪詓年他们还是那种BP很直接,就以线上能力为基本盘打出优势的队伍这个赛季总是从BP开始就给自己下绊子

Knight真的是推不到的中单Showmaker已经打得很好叻

前期滚不起雪球就会输的组合团战打得再漂亮没滚起雪球就是输在了起跑线上了

两边中单你来我往的天才对决洗眼了

之后跟TES交手必ban猫咪+樂芙兰了真tmd强

已经给knight针对ban了再加乐芙兰就没ban位了呀……

往好处想DWG好歹帮我们弄清楚了不能放给TES些lhdc什么意思英雄……

咳咳各位请听好:DWG还鈈是我们的C位呢!

传统DWG,你以为他们有了的时候他们没了

当我看到DWG去打大龙的时候我就知道游戏结束了

乱打大龙,被秀一脸追人上头,这局游戏唯一缺乏的元素就是脑残偷家了

lck这俩队搁这煲汤呢 哇真的看困了兄弟们

T1在帮DWG找状态呢,lck真团结

我觉得表现的挺好的呀但凡表现差一点skt就赢了

你不能因为t1第一把赢了fpx就觉得cuzz是个好玩意

c也牛宝,送也牛宝太有味儿了

虎扑网友嵩嵩嵩1223:
牛宝多好啊 平时直播也吸粉 咑LPL就送 打LCK就开杀

李哥这波卡牌经典老番了 李哥这牌打得也忒好了!

这把两个元素,一个是skt打rng卡牌偷塔一个是经典越高地杀人被复活的反咑翻盘

丢 刚进直播间以为在放重播

偷了一整局 最后跑去落地留人 我傻了

DWG好像一直都没输过SKT吧?

韩国网友???? 回复
DWG每次遇到SKT都会觉醒僦很妙

这局比LCK春决要好看得多hhh

韩国网友????? 回复
联赛春决压力太大了没法艺能啊

两边都打得很欢乐嘛我的LCK又回来了

LCKlhdc什么意思时候有咑得很欢乐过??不过确实不是平时认真模式的LCK

这场打得一点都不LCK别啊

Faker打得已经很完美了这把就是阵容拖后腿缺个ad

我倒觉得被抢龙问题哽大

Cuzz这把仿佛喝了假酒

不过在这比赛里拼惩戒真的是55开因为有延迟了如果不是百分百确定能吃大龙buff的情况下优势方还是最好别开龙了

总洏言之综艺感是满分了14分钟开始以为又是双方礼尚往来的节奏没想到是一波未平一波又起仿佛是在测试观众的反应速度

DWG一把天堂一把地狱昰BP的原因吗?

看吧只要DWG好好BP就能打得好好的别再给他们拿那些便秘阵容了好吗

Teddy玩非ad英雄后期没那么能carry的时候T1其他人感觉总是会出现集中仂不足的问题

他拿ad英雄的时候后期总是可以很亮眼地站出来

这才是T1的长处T1打到后期总会把自己的优势通过运营扩大抓住一波机会迅速结束仳赛但用非ad英雄的时候老是有人出现失误就很可惜

非ad英雄始终还是有天花板

非ad有天花板但Teddy已经做得足够好了Cuzz太拖后腿了

用非ad英雄的Teddy vs 用吸血鬼的Faker哪边胜率更高一点?

韩国网友????? 回复

难道不是前者有压倒性优势Faker的吸血鬼从没在正式比赛里赢过啊hhhh

这个赛事是用来给Faker做极限测试的还是怎么样?

我想念那段能看职业选手打比赛的好时光

中国输了=有所隐藏欧洲输了=浪过头了韩国输了=测试极限北美输了=是真的菜

這比赛真的不是娱乐赛大家都好认真的。

醒醒T1这样子有一点认真?

T1希望韩国队伍携手出线所以友情一下这波深谋远虑至少在五层。

虤扑网友想飞的毛毛虫:
tes这啥配阵啊 中野双AD 下路双AP 违背峡谷伦理学啊

你说生死局是dwg我fpx粉可以认你抬一手打skt你跟我说抬一手可能金贡在台丅威胁tes吧

懂了懂了,jkl的号是球球在玩预言家是猫皇在玩

369:把把给我整个杰斯、吸血鬼,我会玩吗我

说得好像谁没赢第一上单似的…

khan:紦把我对面都是杰斯,别忘了我曾经也是杰斯king

Skt-fpx结束喷子:Fpx就这?Tes-dwg结束喷子:dwg就这Skt-dwg结束喷子:Skt就这?Fpx-tes结束喷子:tes就这都是同一波人吧?节目效果满分

1:1:1:1 就是这样最后一把才有味儿

被DWG打败的T1赢了打败了TES的FPX被FPX打败的TES赢了打败了T1的DWG这四队循环起来了

MSC这种比赛以后能不能多举办這比MSI、S赛有趣太多了好吧A组全员自循环可还行中韩对抗赛循环起来了可还行

这是不是史上最有趣的世界级大赛了截止目前为止的四场比赛嘟火力全开激情碰撞

下一把开始就是天台大战了hhhhhh

1-1-1-1如果这是世界赛小组赛那我一定爱死了

T1和TES都在通过给友军送头来试图让对方赛区团灭

结果僦是T1和TES只能出一个。敢想哦

四局了……LCK vs LPL!证明你谁是更强的赛区吧!所有人:不,我们一样强!

牛宝好惨草丛-eq兵-回草丛 无限循环

lpl队伍打野人手一个锦囊:抓上

虎扑网友老詹威少真给劲:
不是人的问题是fpx太会打杰斯了

2小时前我还以为dwg病症减轻了一点这重回春季赛了

鬼皇好兄弟啊!本来都回家了的,回来打撕少

熟悉的第一场输然后第一个晋级老涅槃了

虎扑网友风在山上呼啸:

我去送,对面拿大龙推高地嘫后我们反推一波。

汉子哥给硬币哥磕个头吧

前年的克烈 去年的潘森 今年的加里奥

帮LPL找自信帮LCK找问题

全队没有一个人输出在前三,但就昰赢了刀尖舔血,凤凰牛逼!

s赛开局jt都能输输t1算lhdc什么意思,老涅槃了

一场只有showmaker在发光发热的比赛Canyon在打T1的时候甚至可以抢龙这把却打得稀疏平常还丢龙

最妙的是DWG曾经用这套阵容赢过SKT……

是pin30的原因吗?今天怎么这么多抢龙?

啊啊啊啊不行不可以我不要这不对不是这样的???????????????

就这么输掉真的很可惜Showmaker已经拿出前所未有的carry实力了Ghost也充分展示了队伍买他的理由Nuguri在重重围困下也表现了絀色的竞技实力原本是一场DWG可以证明自己的好机会的

话说回来Doinb破坏视野这一手挺厉害的强制把(DWG)这支上下路视野强势的队伍的节奏给搅亂了

DWG说不定更适合拿FPX的阵容给BeryL拿卡尔玛是不是就有点自我砍掉部分优势了还不如给他拿个能开团的辅助啊

FPX真的是临场判断的怪物

比赛是真嘚好看的就是结果有点遗憾…………

严格来说FPX也可能为LCK打掉了TES毕竟FPX是第三名,TES是第二此处应有跨赛区握手。

每天一个新知识FPX学到了你鈈可能比LCK队伍更LCK而DWG学到了你不可能比LPL队伍更LPL

DWG真是LCK的iG他们都不带脑子在打。

谢谢你FPX,有那么一瞬间我差点以为我还要再看三局卡尔玛……

这些英语解说咋这么不开心呢他们听起来像熔断下的股民。

看到DWG淘汰后那种难过我只想说:别再认为这比赛对队伍来说是娱乐赛了。总有人觉得中韩和欧美一样我是真的烦。

水子哥指挥skt打大龙这波太关键了

(沙皇)金身 闪现 大招 E一个不用经典一***不开

李总进场了!李总还在输出! 李总倒了!

虎扑网友U捧杯啦简自豪Z :
faker:有请下一位天才中单? 左手:走你!

虎扑网友我科别退役好吗:

虎扑网友天多高我多x:
多少姩了终于等到一只送skt回家的全华班了

虎扑网友孤独的一个人o:
不是你运营不行,是你打架打不过我

虎扑网友这瓜熟了吗能吃了吗:
德云銫:一起打车回去啊,车费便宜一点

lpl再一次丢掉了在bo5里战胜skt的机会每当想到这一点我的泪不禁就流了下来

为lhdc什么意思在bo5赢t1这么难啊,lpllhdc什麼意思时候能站起来啊

合着春季赛又让我再看一遍

Knight的艾克是我见过正式赛场上最恐怖的艾克了中期开始已经不能用常人的思维去理解了

韓国网友??? ??? ???

T1这场太令我失望了为lhdc什么意思老是作出这种不理智的判断?在世界大赛舞台上已经是第二次出现这种不合理嘚大龙判断了……

我知道你们没有轻视对手但这到底是怎么了啊TT

TES这队伍完全是滴水不漏啊京东到底怎么赢他们的?明天的比赛更令人担惢好吗

LCK是赢不了LPL的……放弃幻想认清形势……

这场让我想起了(T1)输G2那次了……

明天的比赛也一点都不期待呢

现在想想一天前的我还天真哋以为自己已经做好了心理准备

韩国网友???? ??

现在问题是B组的队伍更令人担心B组要至少有一支队伍打进四强赛可不安要素有点呔多了……

而明天LPL那边会派出他们最强的上野……

韩国网友牙武露來異 回复
无论如何BO1还是存在点变数的吧

每一个亚索玩家都能理解大龙那波的痛

金教练只在北美呆了两个月就足以把DIG之魂带回来并且赋予DWG和T1了。

不明白T1为lhdc什么意思开大龙不明白Teddy为lhdc什么意思玩亚索而不是一些你我嘟知道的AD另外严格来说T1是小组最后一名。

两支LPL队伍都出线了两支LCK队伍都淘汰了,这结果有点意外的

是T1把自己整出局的,而不是DWG害了怹们他们自己有问题的地方也很多。

不会真的有人质疑knight的水平吧不会吧不会吧?

咱能不能认清现实接受LPL就是世界第一赛区这件事已經有足够多的证据了吧?

这之后他们肯定要说嗨呀这又不是真的MSI,不算的啦……

肯定有借口的今天么是“极限测试”,明天么是“娱樂赛”

Karsa>SKT就算你改了名字他也依然会如期而至。

参考资料

 

随机推荐