压缩后RDD大小保持不变

时间:2016-10-18 15:16:11

标签: scala apache-spark rdd

我使用SparkListener来监控缓存的RDD的大小。但是,我注意到无论我做什么,RDD的大小始终保持不变。我做了以下事情来压缩RDD。

val conf = new SparkConf().setAppName("MyApp")
conf.set("spark.rdd.compress","true")
conf.set("spark.serializer", "org.apache.spark.serializer.KryoSerializer")
.....
val sc = new SparkContext(conf)
....
myrdd.persist(MEMORY_ONLY_SER)

即使如果我删除上面显示的第二行和第三行,Spark侦听器也会显示相同大小的RDD,这意味着将 spark.rdd.compress 设置为true并启用kryo序列化没有效果(OK kryo仅用于序列化,但 spark.rdd.compress 至少可以做到这一点)。我可以做什么错?

请注意,我的RDD类型为(Long,String)。这可能是原因吗?我的意思是,可能是Spark不压缩这种类型的RDD,特别是当字符串的大小很短时?

P.S:我正在使用Spark 1.6

0 个答案:

没有答案