java火花映射函数
我有一个映射函数,需要在spark应用程序中单独定义java火花映射函数,java,apache-spark,Java,Apache Spark,我有一个映射函数,需要在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
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";
}
}
public final class应用程序{
私有静态最终模式空间=Pattern.compile(“”);
公共静态void main(字符串[]args)引发异常{
火花会话火花=火花会话
.builder()
.master(“本地[*]”)
.appName(“JavaWordCount”)
.getOrCreate()
;
System.out.println(“你好”);
JavaSparkContext jsc=新的JavaSparkContext(spark.sparkContext());
列表数据=新的ArrayList(5);
添加数据(“test.jpg”);
JavaRDD=jsc.parallelize(数据);
地图(tf_func);
spark.stop();
}
公共静态字符串tf_func(){
回复“你好”;
}
}
上述代码无法识别定义的函数。获取对象
静态JavaRDD映射(函数f)
您不能传递任意方法并期望它工作
static <R> JavaRDD<R> map(Function<T,R> f)