zoukankan      html  css  js  c++  java
  • spark RDD iterator中sparkEnv功能 -- (视频笔记)

    sparkEnv是spark环境变量

    1、可以从其中get 缓存

    2、为master workder driver 管理和保存运行时对象。

    3、excutorid ,excutor 一种为driver类型,一种具体处理task 内部有线程池的excutor

    4、actorSystem ,如果运行在driver 则为spark driver,如果在excutor上在则为spark excutor

    5、serializer 序列化器

    6、cacheManager

    7、mapOutputTracker,它负责保存shuffle map output输出位置信息。

    在一个stage中产出的数据通过shuffle write写入到localFileSystem中,具体存储在什么位置,就是由mapOutputTracker跟踪记录的。

    master slave 模式,driver 上 则为 mapOutputTrackerMaster,work上则为mapOutputTrackerWorker,worker汇总master获取信息。

    8、shuffleManager

    hash

    sort

    可插拔,支持扩展

    9、broadcastManager 广播,

    例如

    join的时候,小的表就可以广播到大的表所在的机器上。

    也可以把全局信息广播出去。

    spark将任务广播到具体的excutor;hadoop的MR,每次将配置信息登,每个任务都要重新加载。

    10、BlockTransferService

    读取shuffle数据,有数据大小区别,不同的数据量使用不同的传输方式。Netty方式还是NIO的方式。

    11、BlockManager

    管理内存和磁盘等。。。管理storage模块本身。

    12、securityManager 安全模块

    13、HttpFileServer

    提供http服务的server,用于excutor下载相关执行jar包的依赖。

    14、metricsSystem

    用于收集统计信息。

    包括excutor的状态,以及任务的状态。

    用于做监控工具很管用

    15、shuffleMemoryManager

    本身是用于管理shuffle执行过程中内存的。

    申请和分配shuffle使用的内存,

    假设N个线程,每个线程会申请到 1/(2N),最多可以申请到1/N的内存

    N是动态变化,线程的数量会变化。

    16、 sparkEnv是随着sparkContext创建的。

  • 相关阅读:
    Linux中增加组和用户
    Storm重启topology,失败
    ES读写数据的工作原理
    Hive优化
    Flink提交流程和架构
    Flink中的Time与Window
    linux 中文件夹的文件按照时间倒序或者升序排列
    ElasticSearch之配置文件详解
    redis中的设置bind绑定ip不是设置白名单
    YARN调度架构中的AppMaster
  • 原文地址:https://www.cnblogs.com/isenhome/p/5086494.html
Copyright © 2011-2022 走看看