zoukankan      html  css  js  c++  java
  • 1.11学习总结:持久化

    一、持久化

    多次计算时,可能会重复利用一个数值,每次需要从头到尾的计算得出这个数值较为麻烦,所以可以将此RDD持久化,直接使用

    二、实例

     在此代码中,第一次执行计算是rdd.count()函数,当执行到rdd.collect()时,会重复执行之前的代码,rdd会被重复生成并计算

    三、持久化方式

    可以使用persist()方法将一个RDD持久化,但是只是标记为持久化,只有当第一个行动操作执行后才会被真正持久化

    持久化级别 说明

    MEMORY_ONLY

    使用未序列化的Java对象格式,将数据保存在内存中。如果内存不够存放所有的数据,则数据可能就不会进行持久化。那么下次对这个RDD执行算子操作时,那些没有被持久化的数据,需要从源头处重新计算一遍。
    MEMORY_AND_DISK 使用未序列化的Java对象格式,优先尝试将数据保存在内存中。如果内存不够存放所有的数据,会将数据写入磁盘文件中,下次对这个RDD执行算子时,持久化在磁盘文件中的数据会被读取出来使用。
    MEMORY_ONLY_SER 基本含义同MEMORY_ONLY。唯一的区别是,会将RDD中的数据进行序列化,RDD的每个partition会被序列化成一个字节数组。这种方式更加节省内存,从而可以避免持久化的数据占用过多内存导致频繁GC。
    MEMORY_AND_DISK_SER 基本含义同MEMORY_AND_DISK。唯一的区别是,会将RDD中的数据进行序列化,RDD的每个partition会被序列化成一个字节数组。这种方式更加节省内存,从而可以避免持久化的数据占用过多内存导致频繁GC。
    DISK_ONLY 使用未序列化的Java对象格式,将数据全部写入磁盘文件中。

    四、学习视频

    https://www.bilibili.com/video/BV1oE411s7h7?p=26

  • 相关阅读:
    hihoCoder 1398 : 网络流五·最大权闭合子图
    hihoCoder:1394 : 网络流四·最小路径覆盖
    hihoCoder 1393: 网络流三·二分图多重匹配
    hihoCoder1378:网络流二·最大流最小割定理
    hihoCoder1369:网络流一·Ford-Fulkerson算法(FF算法)
    [NOIP2011]铺地毯(贪心)
    hdu 3452:Bonsai(最小割)
    hdu 3549:Flow Problem(最大流)
    (转载)JavaScript中定义变量
    (转载)浅谈javascript的分号
  • 原文地址:https://www.cnblogs.com/wangzhaojun1670/p/14326227.html
Copyright © 2011-2022 走看看