• Spark持久化策略


    spark持久化策略_缓存优化
    persist、cache都是持久化到内存
    缓存策略


    StorageLevel
    _useDisk:是否使用磁盘
    _useMemory:是否使用内存
    _useOffHeap:不用堆内存,找tackyon
    _deserialized:不序列化(序列化可理解为压缩,节省内存磁盘空间,但是消耗CPU)
    _replication:副本数量 默认1份

    默认持久化:只持久化到内存。
    MEMORY_ONLY:有多少存多少,没存进来的重新算
    只存入内存,假设RDD1的数据为1T,内存大小为512G,那么会将RDD中的512G放入内存,下一步操作使用RDD1的数据,生成RDD2,先去内存中找RDD1的数据,会发现存入内存的512G数据,进行计算后生成RDD2,但是RDD1中还有512G数据没有存入内存,生成RDD2的操作会查找RDD1的依赖,如果RDD1之前的RDD有做缓存,那么再缓存中读取,如果没有做缓存,再找之前的RDD,如果都没有做缓存的话,直接去HDFS中读取数据重新计算,最终生成RDD2。

    MEMORY_AND_DISK:内存不够用了就落地到本地磁盘,假设RDD1的数据为1T,内存大小为512G,那么会将RDD中的512G放入内存,剩余的512G会落地到磁盘中。生成RDD2的时候一部分从内存中读取,一部分从磁盘中读取。
    如果计算时间较长,中间结果算起来比较昂贵,此时M_A_D比较合适

    能存在内存中的就尽量存在内存中,如果内存紧张,那就序列化一次M_O_SER

  • 相关阅读:
    维护是关键 刻录机不读/刻盘故障实例排除
    压缩viewstate
    采用"软改"的方式激活Windows 7
    开启VAIO的VT
    比较通用的存储过程分页
    linux如何安装声卡驱动
    给Fedora11安装五笔
    导入CSV文件到数据库
    Ubuntu第一次登录用户名和密码错误不能登录
    CSS中Position、absolute、Relative、fixed、static的用法
  • 原文地址:https://www.cnblogs.com/EnzoDin/p/8552267.html
Copyright © 2020-2023  润新知