我是Apache Spark的新用户,对sparks运行程序的方式感到困惑。
例如,我有一个较大的int RDD,它分布在10个节点上,并希望在驱动程序上运行scala代码以计算每个分区的(平均/标准偏差)。 (对于每个分区而不是所有数据都具有这些值很重要)。
Spark中有可能,有人可以给我样品吗?
用于执行火花映射操作的示例Java代码。
List<List<Integer>> listOfLists = new ArrayList();
for(int j = 0 ; j < 10; j++){
List<Integer> l = new ArrayList();
for(int i = 0 ; i < 50; i++){
l.add(i);
}
listOfLists.add(l);
}
SparkConf conf = new SparkConf().setAppName("STD Application"); //set other params
JavaSparkContext sc = new JavaSparkContext(conf);
JavaRDD<List<Integer>> rddNumbers = sc.parallelize(listOfLists);
JavaRDD<Integer> partialSTD = rddNumbers.map(x -> Utils.std(x));
for(Integer value: partialSTD.collect()){
System.out.println(value);
}