1、本文目标以及其它说明:
因为这几个包目标明确,类也不多,所以全部弄在一起研究。这里不会所有的数据结构都会讲到,主要是掌握
重点。
security包:
2、security包下面的数据结构说明
private[spark] object CryptoStreamUtils extends Logging 对IO流进行加密、解密
trait GroupMappingServiceProvider 给到用户,返回用户组,概念和linux权限组类似
private[spark] class ShellBasedGroupsMappingProvider extends GroupMappingServiceProvider
其实就是读取的liux操作系统的权限组
private[spark] class SocketAuthHelper(conf: SparkConf) 对连接客户端和服务器端的套接字socket进行
secret认证
3、serializer包下面的数据结构说明
private[spark] class SerializerManager( 对spark组件配置序列化器、压缩、加密器等
GenericAvroSerializer 、JavaSerializer、KryoSerializer 具体的序列化器
4、status包下面的数据结构说明
private[spark] trait SparkListenerInterface { 为spark 调度器的事件接口 应用、job、阶段、
任务、块管理器、执行器增删改。也就是说事件的回调方法
abstract class SparkListener extends SparkListenerInterface 并没有实现回调方法
trait SparkListenerEvent { 事件,在spark调度器调度的时候发生的事件。对应事件有对应的事件
的监听回调方法。
private[spark] class AppStatusListener( )extends SparkListener with Logging
对监听方法进行了实现
public interface KVStore extends Closeable { 以key value的形式存储app的数据在本地机器上
private[spark] class ElementTrackingStore(store: KVStore, conf: SparkConf)
extends KVStore { KVStore实现类,增加了存储时候的触发器
5、io包下面的数据结构说明
trait CompressionCodec { def compressedOutputStream(s: OutputStream): OutputStream def compressedInputStream(s: InputStream): InputStream }本包下面就提供了用于数据压缩的类,具体包括:lz4/lzf/snappy/
6、input包下面的数据结构说明
这里面的主要是用来从hadoop文件系统读取数据的reader 和 inputformat7、metrics包下面的数据结构说明
度量系统包,暂不研究8、mapred包下面的数据结构说明
object SparkHadoopMapRedUtil extends Logging { 用来将分区输出到hadoop文件系统
9、internal包下面的数据结构说明
和hadoop有关,不做深入研究