大数据杂乱面试问题
- 大数据框架本身
-
Spark的任务提交模式,每种模式的提交流程是怎样的?
-
宽窄依赖与Stage划分
宽依赖:一个parent被多个child使用 窄依赖:一个parent只被一个child用 Stage划分主要看宽依赖,因为只要产生了宽依赖,必定有shuffle,有shuffle那就肯定需要进入下一个stage
-
Yarn的调度模式(FIFO, Fair, ?) Fair的调度算法具体是怎样的?
-
Hadoop的任务提交模式
-
Hive: map-side join?
Map side join is a process where joins between two tables are performed in the Map phase without the involvement of Reduce phase.
Map-side Joins allows a table to get loaded into memory ensuring a very fast join operation, performed entirely within a mapper and that too without having to use both map and reduce phases.
-
倒排索引是什么?有什么用?实际的例子?
-
Stage和Task的关系?
一个stage可以有多个Task
-
Executor, Task, Stage, CPU cores关系是怎样的?
- 常见的Spark优化方法?
- 广播大变量供Executor中的Task共享,这样可以省去传大变量的带宽(减少网络IO)
- 用mapPartition代替map (一次性处理掉partition内所有的数据而不是一个一个处理)
- map-side预聚合减少shuffule的总量(e.g:redeuceByKey替代groupByKey)
- 对多次使用的RDD进行持久化,防止多次重复计算计算图
- 复用RDD,避免重复建立RDD (理由同上)
-
脑裂是什么?如何解决?
- Hadoop和Spark的HA是怎么实现的?
-
Java
-
NoSQL