PySpark - DepolamaSeviyesi

StorageLevel, RDD'nin nasıl depolanacağına karar verir. Apache Spark'ta StorageLevel, RDD'nin bellekte mi yoksa diskte mi yoksa her ikisinde mi depolanacağına karar verir. Ayrıca, RDD'nin seri hale getirilip getirilmeyeceğine ve RDD bölümlerinin çoğaltılıp çoğaltılmayacağına da karar verir.

Aşağıdaki kod bloğu, StorageLevel'in sınıf tanımına sahiptir -

class pyspark.StorageLevel(useDisk, useMemory, useOffHeap, deserialized, replication = 1)

Şimdi, RDD'nin depolanmasına karar vermek için, aşağıda verilen farklı depolama seviyeleri vardır -

  • DISK_ONLY = StorageLevel (True, False, False, False, 1)

  • DISK_ONLY_2 = StorageLevel (Doğru, Yanlış, Yanlış, Yanlış, 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, False, False, 2)

  • MEMORY_ONLY = StorageLevel (Yanlış, Doğru, Yanlış, Yanlış, 1)

  • MEMORY_ONLY_2 = StorageLevel (Yanlış, Doğru, Yanlış, Yanlış, 2)

  • MEMORY_ONLY_SER = StorageLevel (Yanlış, Doğru, Yanlış, Yanlış, 1)

  • MEMORY_ONLY_SER_2 = StorageLevel (Yanlış, Doğru, Yanlış, Yanlış, 2)

  • OFF_HEAP = Depolama Düzeyi (Doğru, Doğru, Doğru, Yanlış, 1)

Depolama düzeyini kullandığımız aşağıdaki StorageLevel örneğini ele alalım. MEMORY_AND_DISK_2, Bu, RDD bölümlerinin 2 çoğaltmasına sahip olacağı anlamına gelir.

------------------------------------storagelevel.py-------------------------------------
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-------------------------------------

Command - Komut aşağıdaki gibidir -

$SPARK_HOME/bin/spark-submit storagelevel.py

Output - Yukarıdaki komutun çıktısı aşağıda verilmiştir -

Disk Memory Serialized 2x Replicated