Spark 相关题目
Spark 相关题目
1、下面哪个不是 Spark 的四大组件(D)
A | B | C | D |
---|---|---|---|
Spark Streaming | Mlib | Graphx | Spark |
2、下面哪个不是 RDD 的特点(C)
A | B | C | D |
---|---|---|---|
可分区 | 可序列化 | 可修改 | 可持久化 |
3、DataFrame API的write接口不支持以下哪种SaveMode(D)
A | B | C | D |
---|---|---|---|
Append | Overwrite | Ignore | Merge |
4、Catalyst一定不会优化哪种API开发的Spark任务(B)
A | B | C | D |
---|---|---|---|
DataFrame | RDD | SQL | DataSet |
5、以下方法设置 Spark 配置优先级最高的是(C)
A | B | C | D |
---|---|---|---|
spark-submit命令使用 --conf | 修改配置文件spark-defaults.conf | 代码中调用SparkConf的set函数 | 默认值 |
6、以下哪个操作是窄依赖(B)
A | B | C | D |
---|---|---|---|
aggregate | union | repartition | sortByKey |
7、以下哪个特性不是数仓的特性(D)
A | B | C | D |
---|---|---|---|
数据量大,且数据相对稳定 | 面向多数据源,需要对分散的数据源进行加工清洗; | 面向主题,按照一定的主题域进行数据管理; | 面向事务的设计,数据操作需要满足事务要求; |
8、Delta Lake API 不支持下列哪种类型的写操作?(C)
A | B | C | D |
---|---|---|---|
INSERT | DELETE | UPSERTS | MERGE |
Delta 不支持 UPSERTS,UPSERTS 的功能由 MERGE 实现。但是 Delta 支持 UPDATE 功能
9、Delta Lake 不能解决下面哪个需求?(D)
A | B | C | D |
---|---|---|---|
删除更新数据 | 查询历史快照 | Schema 演化 | 保证流批并发执行不失败 |
Delta Lake 有事务机制,但是它的事务机制是乐观机制,当事务有冲突时其中一方会失败,因此 Delta Lake 不能保证流批并发执行的时候一方不失败。
10、下面哪项描述是错误的(C)
A | B | C | D |
---|---|---|---|
可以通过Spark扩展接口添加新的语法解析规则 | 可以利用Spark扩展接口修改SQL优化器的行为 | 可以通过Spark扩展接口指定插入规则的执行次序 | Spark扩展接口可以在不重新编译Spark的前提下定制特殊功能 |
11、Zeppelin 支持哪些引擎(ABCD)
A | B | C | D |
---|---|---|---|
Spark | Flink | Hive | Presto |
12、Zeppelin支持Spark的哪些运行模式 (ABCD)
A | B | C | D |
---|---|---|---|
Local | Standalone | Yarn | K8s |
13、Spark技术栈有哪些组件,每个组件都有什么功能,适合什么应用场景?(ABCDE)
A | B | C | D | E |
---|---|---|---|---|
Spark core: 是其它组件的基础,spark的内核 主要包含:有向循环图、RDD、Lingage、Cache、broadcast等 | SparkStreaming: 是一个对实时数据流进行高通量、容错处理的流式处理系统 将流式计算分解成一系列短小的批处理作业 | Spark sql: 能够统一处理关系表和RDD,使得开发人员可以轻松地使用SQL命令进行外部查询 | ML基础: 是Spark生态圈的一部分专注于机器学习,让机器学习的门槛更低 MLBase分为四部分:MLlib、MLI、ML Optimizer和MLRuntime。 | GraphX: 是Spark中用于图和图并行计算 |
14、Spark 2.4支持以下那几种模式部署(ABCD)
A | B | C | D | E |
---|---|---|---|---|
YARN | STANDALONE | MESOS | KUBERNETES | ZEPPLIN |
15、按照数据shuffle方式,请介绍下Spark中支持的不同Join类型,及其适合的查询场景。(ABC)
A | B | C |
---|---|---|
Broadcast Join: broadcast小表数据,大表数据不动,适合大表和小表Join。 | Shuffle Join: 两个表数据都需经过shuffle阶段,适合大表和大表Join。 | Bucket Join:两个表对应bucket的数据进行join,无需shuffle,适合预先定义好bucket的两个大表Join。 |
16、YARN Client模式和YARN Cluster模式的区别,一下描述正确的是(AB)
A | B |
---|---|
YARN Client模式: Driver运行在当前提交任务的本地机器,ApplicationMaster只负责向YARN申请资源,可以方便查看日志和debug.适用于开发以及需要Driver固定IP的场景 | YARN Cluster模式: Driver运行在YARN随机分配的ApplicationMaster上,出现问题不太好进行排查.适用于生产环境或者本地向云上集群提交 |
17、Delta 有历史追踪的功能,被合并的小文件有可能在查询历史版本时用到。另外,有些 Delta 事务可能会持续时间比较长,比如几个小时。当把安全期设置的比较小的时候,可能会导致查询历史版本任务失败,或者正在运行的事务失败(如果安全期小于该事务运行时间的话)。(√)
18、如果想快点清理掉被合并掉的小文件,推荐把安全期参数 delta.deletedFileRetentionDuration 设置的小一点(×)