4.10 Spark
- 4.10.1 Spark有几种部署方式?请分别简要论述
- 4.10.2 Spark任务使用什么进行提交,javaEE界面还是脚本
- 4.10.3 Spark提交作业参数(重点)
- 4.10.4 简述Spark的架构与作业提交流程(画图讲解,注明各个部分的作用)(重点)
- 4.10.5 如何理解Spark中的血统概念(RDD)(笔试重点)
- 4.10.6 简述Spark的宽窄依赖,以及Spark如何划分stage,每个stage又根据什么决定task个数? (笔试重点)
- 4.10.7 请列举Spark的transformation算子(不少于8个),并简述功能(重点)
- 4.10.8 请列举Spark的action算子(不少于6个),并简述功能(重点)
- 4.10.9 请列举会引起Shuffle过程的Spark算子,并简述功能。
- 4.10.10 简述Spark的两种核心Shuffle(HashShuffle与SortShuffle)的工作流程(包括未优化的HashShuffle、优化的HashShuffle、普通的SortShuffle与bypass的SortShuffle)(重点)
- 4.10.11 Spark常用算子reduceByKey与groupByKey的区别,哪一种更具优势?(重点)
- 4.10.12 Repartition和Coalesce关系与区别
- 4.10.13 分别简述Spark中的缓存机制(cache和persist)与checkpoint机制,并指出两者的区别与联系
- 4.10.14 简述Spark中共享变量(广播变量和累加器)的基本原理与用途。(重点)
- 4.10.15 当Spark涉及到数据库的操作时,如何减少Spark运行中的数据库连接数?
- 4.10.16 简述SparkSQL中RDD、DataFrame、DataSet三者的区别与联系? (笔试重点)
- 4.10.17 SparkSQL中join操作与left join操作的区别?
- 4.10.18 SparkStreaming有哪几种方式消费Kafka中的数据,它们之间的区别是什么?
- 4.10.19 简述SparkStreaming窗口函数的原理(重点)
- 4.10.20 请手写出wordcount的Spark代码实现(Scala)(手写代码重点)
- 4.10.21 如何使用Spark实现topN的获取(描述思路或使用伪代码)(重点)
- 4.10.22 京东:调优之前与调优之后性能的详细对比(例如调整map个数,map个数之前多少、之后多少,有什么提升)
4.10.1 Spark有几种部署方式?请分别简要论述
1)Local:运行在一台机器上,通常是练手或者测试环境。
2)Standalone:构建一个基于Mster+Slaves的资源调度集群,Spark任务提交给Master运行。是Spark自身的一个调度系统。
3)Yarn: Spark客户端直接连接Yarn,不需要额外构建Spark集群。有yarn-client和yarn-cluster两种模式,主要区别在于:Driver程序的运行节点。
4)Mesos:国内大环境比较少用。