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

  • 相关阅读:
    Boot.ini
    CCP4 SET
    Install GTK+ GLIB
    C head file
    Changes in Python
    ubuntu
    错误: 配置节中设置 validateRequest=false 可以禁用请求验证
    c++中冒号(:)和双冒号(::)的用法
    C++学习之类和结构体
    C++中双冒号的作用
  • 原文地址:https://www.cnblogs.com/wangzhaojun1670/p/14326227.html
Copyright © 2011-2022 走看看