//spark计数器类似于hadoop的counter
final Accumulator accumulator = javaSparkContext.accumulator(0);
//如果不缓存到内存的话,数据就在disk或者hdfs上,每一个算子或者什么都要去读一遍。
JavaPairRDD pairRDD1 = javaSparkContext.parallelize(Arrays.asList("2016-02-25", "2016-02-24", "2016-02-26")).mapToPair(new PairFunction() {
@Override
public Tuple2 call(String s) throws Exception {
accumulator.add(1);
return new Tuple2(s, "1");
}
});
System.out.println("pairRDD1中 元素个数:" + pairRDD1.count());
//第一次将pariRDD1中的数据按照分区打印
pairRDD1.foreachPartition(new VoidFunction>>() {
@Override
public void call(Iterator> tuple2Iterator) throws Exception {
List list = new ArrayList();
while (tuple2Iterator.hasNext()) {
list.add(tuple2Itera