私はspark graphxを使用しようとしています。その前に、データフレームを使って頂点とエッジrddを配置したいと思っていました。その目的のために私はJavaRddマップfunction.butを使用しています。私はこの問題を解決するためにさまざまな方法を試しました.iは全体のclass.butをserializeしました。しかし、それは働かなかった。また、インドは地図の機能でそれを使用しました。しかし、それも動作しませんでした。org.apache.spark.SparkException:Javaでシリアル化できないタスク
//add long unique id for vertex dataframe and get javaRdd
JavaRDD<Row> ff = vertex_dataframe.javaRDD().zipWithIndex().map(new Function<Tuple2<Row, java.lang.Long>, Row>() {
public Row call(Tuple2<Row, java.lang.Long> rowLongTuple2) throws Exception {
return RowFactory.create(rowLongTuple2._1().getString(0), rowLongTuple2._2());
}
});
iは、以下のようにシリアル化されたFunction()クラスです。
public abstract class SerialiFunJRdd<T1,R> implements Function<T1, R> , java.io.Serializable{
}
コードを正しくフォーマットしてください。 –