>我有一个map函数,需要在我的Spark应用程序中单独定义
public final class App {
private static final Pattern SPACE = Pattern.compile(" ");
public static void main(String[] args) throws Exception {
SparkSession spark = SparkSession
.builder()
.master("local[*]")
.appName("JavaWordCount")
.getOrCreate()
;
System.out.println("hello");
JavaSparkContext jsc = new JavaSparkContext(spark.sparkContext());
List<String> data = new ArrayList<>(5);
data.add("test.jpg");
JavaRDD<String> rdd = jsc.parallelize(data);
rdd.map(tf_func);
spark.stop();
}
public static String tf_func(){
return "Hello";
}
}
上面的代码无法识别定义的函数。
JavaRDD.map
采用Function
对象。
static <R> JavaRDD<R> map(Function<T,R> f)
您不能传递任意方法并期望它工作。