【发布时间】:2018-05-23 14:11:20
【问题描述】:
我正在看一张桌子。其中一列包含压缩(二进制)数据。我正在解压缩这些数据并存储在另一个 RDD 中。它给出了以下错误:
线程“主”org.apache.spark.SparkException 中的异常:作业 由于阶段失败而中止:阶段 2.0 中的任务 0 失败 1 次,大多数 最近的失败:在阶段 2.0 中丢失了任务 0.0(TID 2、localhost、executor 驱动程序):java.util.concurrent.ExecutionException:java.lang.Exception: 编译失败:org.codehaus.commons.compiler.CompileException: 文件 'generated.java',第 36 行,第 31 列:名为“toString”的方法 没有在任何封闭类或任何超类型中声明,也没有通过 静态导入
代码:
Dataset<Row> df = spark .read() .format("jdbc") .options(options)
.load().limit(10);
JavaRDD<ConfigObject>
configObjs=df.as(Encoders.bean(ConfigObject.class)).javaRDD();
JavaRDD<ConfigObjectResult> configObjsResult=configObjs.map(obj -> {
ConfigObjectResult confObjRes= new ConfigObjectResult();
confObjRes.setConfigID(obj.getConfigID());
confObjRes.setAgentVersion(obj.getAgentVersion());
confObjRes.setUncompressedDoc(Compressor.getInstance().
unCompressData(obj.getCompressedDoc()));
confObjRes.setCreationDate(obj.getCreationDate());
return confObjRes;
});
【问题讨论】:
-
你在你的 ConfigObject 类中使用@Generated 吗?
-
不,我没有使用
标签: java sql apache-spark