如何将过滤器功能应用于org.apache.spark.rdd.RDD [Array [Byte]]

时间:2018-09-17 05:01:57

标签: apache-spark

使用spark加载旧文件后:

val rdd1 = sc.newAPIHadoopFile[LongWritable,BinaryWritable[Array[Byte]],
        MultiInputFormat[Array[Byte]]]("s3://spark-tst/test/input/").map(_._2.get()), 

我得到了org.apache.spark.rdd.RDD[Array[Byte]]格式的RDD。现在,我需要将过滤器功能应用于这些RDD,但得到"org.apache.spark.SparkException: Task not serializable"。如果引入中间rdd“ val s = rdd1.collect.toList”,则过滤器功能可以应用于RDD;但是“收集”不适用于具有大量文件的情况。另一个问题是,更改过滤器后,数据还需要以其原始节俭格式写回到s3。
感谢任何帮助/建议。

0 个答案:

没有答案