zoukankan      html  css  js  c++  java
  • 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

  • 相关阅读:
    鱼眼相机畸变矫正资料
    异常值检测算法三:3sigma模型
    五:瑞芯微RV1109
    四:海思Hi3516CV500/Hi3516DV300
    三:瑞芯微OK3399-C开发板
    二:飞凌嵌入式FCU1201
    一:芯片概述
    六:大数据架构
    五:大数据架构回顾-LambdaPlus架构
    四:大数据架构回顾-IOTA架构
  • 原文地址:https://www.cnblogs.com/EnzoDin/p/8552267.html
Copyright © 2011-2022 走看看