spark 2.2.0 共享變量使用方法 java版

package cn.spark.study.core;


import java.util.*;


import org.apache.spark.SparkConf;

import org.apache.spark.api.java.JavaRDD;

import org.apache.spark.api.java.JavaSparkContext;

import org.apache.spark.api.java.function.Function;

import org.apache.spark.api.java.function.VoidFunction;

import org.apache.spark.broadcast.Broadcast;


public class BroadcastVairable {

public static void main(String[] args) {

SparkConf conf =new SparkConf().setAppName("persist").setMaster("local");

JavaSparkContext sc =new JavaSparkContext(conf);

final int factor = 3;

final Broadcast<Integer> fac =sc.broadcast(factor);

List<Integer> numberlist =Arrays.asList(1,2,3,4,5);

JavaRDD<Integer> num =sc.parallelize(numberlist);

JavaRDD<Integer> mul =  num.map(new Function<Integer, Integer>() {


@Override

public Integer call(Integer arg0) throws Exception {

int fact = fac.value();

return arg0 *fact;

}

});

mul.foreach(new VoidFunction<Integer>() {

@Override

public void call(Integer arg0) throws Exception {

System.out.println(arg0);

}

});

sc.close();

}

}

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章