大数据面试题——Spark面试题(八)

66、Spark中standalone模式特点,有哪些优点和缺点?

特点

1)standalone是master/slave架构,集群由Master与Worker节点组成,程序通过与Master节点交互申请资源,Worker节点启动Executor运行

2)standalone调度模式使用FIFO调度方式

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

优点

1)部署简单

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

缺点

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

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

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

基本原理

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

优点和缺点

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

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

68、FAIR调度模式的优点和缺点?

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

69、 使用scala代码实现WordCount?

 val conf = new SparkConf()   val sc = new SparkContext(conf)   val line = sc.textFile("xxxx.txt") line.flatMap(_.split(" ")).map((_,1)).reduceByKey(_+_). collect().foreach(println) sc.stop()

70、Spark RDD 和 MapReduce2的区别?

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

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

72、Spark sql为什么比hive快呢?

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

72、spark为什么比Mapreduce快?快在哪里呢?

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

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

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

3)容错机制Lingage,主要是DAG和Lianage,即使spark不使用内存技术,也大大快于mapreduce。

73、RDD的数据结构是怎么样的? 一个RDD对象,包含如下5个核心属性。

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

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

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

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

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

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

频繁创建额外对象,容易oom

75、说说你对Hadoop生态的认识。

hadoop生态主要分为三大类型

1)分布式系统:HDFS,hbase

2)分布式计算引擎:Spark,MapReduce

3)周边工具:如zookeeper,pig,hive,oozie,sqoop,ranger,kafka等

76、hbase region多大会分区,spark读取hbase数据是如何划分partition的?

region超过了hbase.hregion.max.filesize这个参数配置的大小就会自动裂分,默认值是1G。 默认情况下,hbase有多少个region,Spark读取时就会有多少个partition




#大数据开发工程师面经##大数据#
全部评论
觉得spark东西挺多的啊
点赞 回复 分享
发布于 2022-08-14 11:34

相关推荐

05-12 11:09
已编辑
门头沟学院 后端
已注销:没必要放这么多专业技能的描述。这些应该是默认已会的,写这么多行感觉在凑内容。项目这块感觉再包装包装吧,换个名字,虽然大家的项目基本都是网上套壳的,但是你这也太明显了。放一个业务项目,再放一个技术项目。技术项目,例如中间件的一些扩展和尝试。
点赞 评论 收藏
分享
评论
6
12
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务