StorageLevel决定如何存储RDD.在Apache Spark中,StorageLevel决定RDD是应该存储在内存中还是存储在磁盘上,或者两者都存储.它还决定是否序列化RDD以及是否复制RDD分区.
以下代码块具有StorageLevel : 的类定义;
class pyspark.StorageLevel(useDisk, useMemory, useOffHeap, deserialized, replication = 1)
现在,决定存储对于RDD,有不同的存储级别,在下面和下面给出;
DISK_ONLY = StorageLevel(True,False,False,False,1)
DISK_ONLY_2 = StorageLevel(True,False,False,False,2 )
MEMORY_AND_DISK = StorageLevel(True,True,False,False,1)
MEMORY_AND_DISK_2 = StorageLevel(True,True,False,False,2)
MEMORY_AND_DISK_SER = StorageLevel(True,True,False,False,1)
MEMORY_AND_DISK_SER_2 = StorageLevel(True,True ,假,假,2)
MEMORY_ONLY = StorageLevel(False,True,False,False,1)
MEMORY_ONLY_2 = StorageLevel( False,True,False,False,2)
MEMORY_ONLY_SER = StorageLevel(False,True,False,False,1)
MEMORY_ONLY_SER_2 = StorageLevel(False,True,False,False,2)
OFF_HEAP = StorageLevel(True,True,True,False,1)
让我们考虑以下StorageLevel示例,其中我们使用存储级别 MEMORY_AND_DISK_2,这意味着RDD分区将具有2的复制.
------------------------------------ storagelevel.py ----------来自pyspark导入的--------------------------- from pyspark import SparkContext import pyspark sc = SparkContext ( "local", "storagelevel app" ) rdd1 = sc.parallelize([1,2]) rdd1.persist( pyspark.StorageLevel.MEMORY_AND_DISK_2 ) rdd1.getStorageLevel() print(rdd1.getStorageLevel()) ------------------------------------ storagelevel. py -------------------------------------
命令 : 该命令如下 :
$ SPARK_HOME/bin/spark-submit storagelevel.py
输出 : 上面命令的输出在下面给出 :
Disk Memory Serialized 2x Replicated
免责声明:以上内容(如有图片或视频亦包括在内)有转载其他网站资源,如有侵权请联系删除
-
TV动画《入间同学入魔了》第三季制作确认 将于10月播出
根据西修原作制作的TV动画《入间同学入魔了》第三季宣布了将于2022年10月播出的消息。本作的宣传图也一并公开。在这次的新宣传图上,可以看到主人公入间和新角色巴巴托斯的样子。 《入间同学入魔了》作品讲述了被父母卖给了恶魔的14岁少年铃木入间在魔界学园生活的故事。TV动画第一季和第二季分别在20
-
华硕Z690主板发布 12代酷睿致胜神装
-
S9:ISGvsSPY 欧洲蛇咬下大白鲨赢得小组第一名!
{@SYS-PAGE-SPLIT@}
-
韩国画师冷门动物拟人作品
-
《幻塔》开服福利少?别被骗了 游戏里藏着大量白给的好东西
-
克苏鲁+伊藤润二《恐怖世界》2023年夏季推出1.0版 并登陆主机
-
iPhone15ProMax预计售价2万块,网曝有这些改变