spark2.2.0源码阅读---spark core包 --- security/serializer/status/io/input/metrics/mapred/internal

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 和 inputformat

7、metrics包下面的数据结构说明

度量系统包,暂不研究

8、mapred包下面的数据结构说明

object SparkHadoopMapRedUtil extends Logging { 用来将分区输出到hadoop文件系统
 

9、internal包下面的数据结构说明

和hadoop有关,不做深入研究

 



     

 



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值