1.scala中private 与 private[this] 修饰符的区别?
private[包名],private[this] 可以放在字段,方法和类上,用来限制访问权限;
private[包名] 包名可以是父包名或当前包名,如果是父包名,则父包和子包都可以访问
private[this] 修饰的方法或字段 只能在本类访问,如果是字段编译成 java 的时候就没有get或set方法。
2.scala中内部类和java中的内部类区别
scala的内部类和java的内部类有很大差别,java的内部类属于类,scala的内部类 属于外部类对象 。
https://blog.csdn.net/yyywyr/article/details/50193767
http://hongjiang.info/scala-type-system-inner-type-and-type-projection/
3.Spark中standalone模式特点,有哪些优点和缺点?
自带资源管理服务,不需要依赖其他的资源管理系统,适用于快速开发。
但standalone对资源的分配不如 Yarn。
而且 Yarn 可以运算其他的计算模型 比如 MapReduce。
4.FIFO调度模式的基本原理、优点和缺点?
FIFO调度策略只适合一个人
任务队列,先进先出。
优点:简单易懂零配置
缺点:耗时的长任务会导致后提交的任务一直处于等待状态,不适用于共享集群
5.FAIR调度模式的优点和缺点?
Fair Scheduler 试图为每个任务均匀分配资源,比如当前只有任务 1 在执行,那么它拥有整个集群资源,此时任务 2 被提交,那任务 1 和任务 2 将平分集群资源,以此类推。
6.CAPCACITY调度模式的优点和缺点?
CAPCACITY 适合多人同时运行任务
可以在配置文件中 为多个队列设置 队列层级关系 和 队列的资源分配比重
mapreduce.job.queuename
来为任务指定队列
优点:弹性分配、多租户租用
7.列举你了解的序列化方法,并谈谈序列化有什么好处?
Hadoop 序列化,实现 Writable 接口。
Spark 默认是 JavaSerializer 实现序列化,可选 KryoSerializer,相比 JavaSerializer 速度提升10倍。
需要注意的是,这里可配的Serializer针对的对象是Shuffle数据,以及RDD Cache等场合,而Spark Task的序列化是通过spark.closure.serializer来配置,但是目前只支持JavaSerializer