我有一个spring boot微服务,它与具有3个节点的远程spark集群通信,并执行以下逻辑:
Dataset<Row> df = sparkSession.read().json("/opt/enso/test.json");
StructType schema = df.schema();
JavaPairRDD<Row, Long> zippedRows = df.toJavaRDD().zipWithIndex();
JavaPairRDD<Row, Long> filteredRows = zippedRows.filter(new Function<Tuple2<Row,Long>,Boolean> () {
@Override
public Boolean call(Tuple2<Row,Long> v1) throws Exception {
return v1._2 >= 1 && v1._2 <= 5;
}
});
JavaRDD<Row> filteredRdd = filteredRows.keys();
Dataset<Row> ds = sparkSqlContext.createDataFrame(filteredRdd, schema);
List<String> mystr = ds.toJSON().collectAsList();
在 JavaPairRDDfilteredRows = zippedRows.filter
上失败带有org.apache.spark.api.java.function.Function中的匿名Function类
除上述例外。
我研究了以下JIRA: https://issues.apache.org/jira/browse/SPARK-9219
https://issues.apache.org/jira/browse/SPARK-18075
中的所有内容似乎是一个类加载问题,我已经尝试了
error when use filter(),map(),... in spark java api( org.apache.spark.SparkException )
在上述问题中提出建议的解决方案。
我也尝试通过设置加载我的jar
spark.executor.extraClassPath仍然有相同的问题。
有指针吗?