java - Spark-无法使用first()访问JavaRDD中的第一个元素

标签 java apache-spark rdd

使用spark及其 Java API。我已将数据加载到 JavaRDD<CustomizedDataStructure>像这样:

JavaRDD<CustomizedDataStructure> myRDD;

当我这样做时:

myRDD.count();

它向我返回值,表明它确实包含数据,而不是 null RDD。 但是运行时:

myRDD.first();

它应该返回给我 <CustomizedDataStructure> ,但它给出了这样的错误:

14:30:39,782 ERROR [TaskSetManager] Task 0.0 in stage 0.0 (TID 0) had a not serializable result:

为什么不是 serializable

最佳答案

当您调用first()时,您会导致RDD的第一个元素被复制到驱动程序进程。为此,它必须是可序列化的,默认情况下这意味着实现java.io.Serialized。我的猜测是这个自定义类没有。

关于java - Spark-无法使用first()访问JavaRDD中的第一个元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27450944/

相关文章:

java - 使用 americanexpress/nodes 的 GraphQL 查询列表

java - 连接池 C3P0 日志记录

java - Spark-通过命令行提交不强制执行 UTF-8 编码

apache-spark - Spark 节点在 Shuffle 期间如何通信?

java - 使用 JDBC 和 JSP 进行登录验证 : How to check if the username and Password entered by the user exists in the Database?

java - Java 中的图像输入输出

java - 在hdfs上从Amplab-shark到Cassandra运行查询

python - pySpark如何访问(键,元组)RDD中元组中的值(python)

python - pyspark:重新分区后出现 "too many values"错误

serialization - Spark如何处理对象