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 java.util.Arrays;
import java.util.List;
public class Test02 {
public static void main(String[] args) {
map();
}
/**
* transformation操作实战
* @param args
*/
/**
* map算子案例,将集合中每一个元素都乘以2
*/
public static void map(){
//创建SparkConf
SparkConf conf = new SparkConf().setAppName("map").setMaster("local");
//创建javaSparkContext
JavaSparkContext sc = new JavaSparkContext(conf);
//构建集合
List<Integer> numbers = Arrays.asList(1, 2, 3, 4, 5);
//并行化集合,创建初始RDD
JavaRDD<Integer> numberRDD = sc.parallelize(numbers);
//使用map算子,将集合中每个元素都乘以2
//map算子,是对于任何类型的RDD,都可以调用的
//在java中,map算子接收的参数是Function对象
//创建的function对象,一定会让你设置第二个泛型,这个泛型类型,并返回一个新的元素
//所有新的元素就会组成一个新的RDD
JavaRDD<Integer> rdd = numberRDD.map(new Function<Integer, Integer>() {
@Override
public Integer call(Integer v1) throws Exception {
return v1 * 2;
}
});
rdd.foreach(new VoidFunction<Integer>() {
@Override
public void call(Integer t) throws Exception {
System.out.println(t);
}
});
//关闭资源
sc.close();
}
}
java 版spark 中的map算子的使用
猜你喜欢
转载自blog.csdn.net/LJ2415/article/details/84987362
今日推荐
周排行