Spark Caching不适用于特定的RDD

时间:2015-12-28 13:12:03

标签: apache-spark pyspark

我有一个没有缓存的RDD。我为它设置了默认的cache()指令,并使用count()来强制执行操作。

is_cached方法返回True,但在Spark用户界面中,我无法在存储选项卡中看到RDD(并且进一步调用count的时间与第一次)。

toDebugString返回:

  

(4)RDD CoalescedRDD [8]在NativeMethodAccessorImpl.java合并:[Memory Serialized 1x Replicated] \ n |在NativeMethodAccessorImpl.java的textFile上的MapPartitionsRDD [7]:[Memory Serialized 1x Replicated] \ n | s3:// ... HadoopRDD [6] at NativeFethodAccessorImpl.java的textFile:[Memory Serialized 1x Replicated]'

StorageLevel

StorageLevel(False, True, False, False, 1)

输入数据为64MB,我有2个执行器,每个执行器剩余500MB。其他RDD缓存得很好。

代码:
*合并前numPartitions为5943

RDD = sc.textFile('s3:/...',use_unicode=False).coalesce(4)
RDD.cache()
RDD.count()

1 个答案:

答案 0 :(得分:0)

您可以在spark UI中的executor选项卡中看到缓存内存。同时在内存和光盘上,这是因为rdd / df上的一个操作将在io上花费相同的时间用于两者。

enter image description here