首发于我的个人博客:Spark面试题(二) 1.Spark有哪两种算子? Transformation(转化)算子和Action(执行)算子. 2.Spark有哪些聚合类的算子,我们应该尽量避免什么类型的算子? 在我们的开发过程中,能避免则尽可能避免使用reduceByKey.join.distinct.repartition等会进行shuffle的算子,尽量使用map类的非shuffle算子. 这样的话,没有shuffle操作或者仅有较少shuffle操作的Spark作业,可以大大减少性能开销…