文档章节

共享变量 Accumulator 实例

别寒
 别寒
发布于 2017/07/24 15:41
字数 144
阅读 3
收藏 0
点赞 0
评论 0
package cn.hhb.spark.core;

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;
import org.apache.spark.Accumulator;

import java.util.Arrays;
import java.util.List;

/**
 * Created by dell on 2017/7/13.
 */
public class AccumulatorVariable {
    public static void main(String[] args) {
        SparkConf conf = new SparkConf()
                .setAppName("AccumulatorVariable")
                .setMaster("local")
                .set("spark.testing.memory", "2147480000");

        JavaSparkContext sc = new JavaSparkContext(conf);

        /**
         * 创建Accumulator变量,需要调用SparkContext的accumulator方法
         */
        final Accumulator<Integer> sum = sc.accumulator(0);

        List<Integer> numberList = Arrays.asList(1,2,3,4,5);
        JavaRDD<Integer> numbers = sc.parallelize(numberList);

        numbers.foreach(new VoidFunction<Integer>() {
            @Override
            public void call(Integer integer) throws Exception {
                // 在函数内部就可以对accumulator变量调用add方法累加值
                sum.add(integer);
            }
        });

        // 在driver程序中,可以调用accumulator的value()方法,获取其值
        System.out.println(sum.value());

        sc.close();
    }
}

© 著作权归作者所有

共有 人打赏支持
别寒
粉丝 30
博文 269
码字总数 136120
作品 0
永州
程序员
Spark算子执行流程详解之八

36.zip 将2个rdd相同位置的元素组成KV对 zipPartitions(other, preservesPartitioning = false) { (thisIter, otherIter) => new Iterator[(T, U)] { def hasNext: Boolean = (thisIter.has......

wl044090432
2017/03/02
0
0
Spark官方文档《Spark Programming Guide》解读

Spark官方文档《Spark Programming Guide》的链接: http://spark.apache.org/docs/latest/programming-guide.html 本文原文出处: http://blog.csdn.net/bluishglc/article/details/50715879......

bluishglc
2016/02/22
0
0
Spark笔记整理(五):Spark RDD持久化、广播变量和累加器

[TOC] Spark RDD持久化 RDD持久化工作原理 Spark非常重要的一个功能特性就是可以将RDD持久化在内存中。当对RDD执行持久化操作时,每个节点都会将自己操作的RDD的partition持久化到内存中,并...

xpleaf
04/27
0
0
spark 大型项目实战(四):用户访问session分析(四) --简要技术方法的设计

1、按条件筛选session 2、聚合统计:统计出符合条件的session中,访问时长在1s~3s、4s~6s、7s~9s、10s~30s、30s~60s、1m~3m、3m~10m、10m~30m、30m以上各个范围内的session占比;访问步长在1...

u012957549
05/12
0
0
js高级函数值reduce篇

reduce() 方法对累加器和数组中的每个元素(从左到右)应用一个函数,将其减少为单个值。 arr.reduce(callback[, initialValue]) 参数 callback 执行数组中每个值的函数,包含四个参数: ac...

bug_killer
2017/12/26
0
0
spark python编程

spark应用程序结构 Spark应用程序可分两部分:driver部分和executor部分初始化SparkContext和主体程序 A:driver部分 driver部分主要是对SparkContext进行配置、初始化以及关闭。初始化Spark...

张欢19933
2016/02/22
165
0
Spark的python编程-初步理解

spark应用程序结构 Spark应用程序可分两部分:driver部分和executor部分初始化SparkContext和主体程序。 A:driver部分 driver部分主要是对SparkContext进行配置、初始化以及关闭。初始化Spa...

openthings
2016/03/03
1K
0
Java8-Stream-终止操作-归约与收集

归约(reduce) 将流中的元素依次结合起来,得到一个新的值 三个重载的方法: 1.Optional<T> reduce(BinaryOperator<T> accumulator); 2.T reduce(T identity, BinaryOperator<T> accumulato......

特拉仔
02/25
0
0
Spark编程指南—Python版

本文翻译自Spark(http://spark.apache.org)的官方文档。由于Spark更新较快,部分API已经过时,本文仅供参考,请以相应版本的官方文档和运行时的提示为准。 概述 从高层次上来看,每一个Spark...

openthings
2016/05/29
235
0
java -- static/final/abstract

1.static 当一个方法或者变量需要初始化时被加载,或者是经常被调用的时候,可以使用static修饰它们。弊处是:初始化被加载,比较占用内存。 java语言中没有 全局变量 这个概念,可以使用sta...

求是科技
2016/09/22
12
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

实现异步有哪些方法

有哪些方法可以实现异步呢? 方式一:java 线程池 示例: @Test public final void test_ThreadPool() throws InterruptedException { ScheduledThreadPoolExecutor scheduledThre......

黄威
30分钟前
0
0
linux服务器修改mtu值优化cpu

一、jumbo frames 相关 1、什么是jumbo frames Jumbo frames 是指比标准Ethernet Frames长的frame,即比1518/1522 bit大的frames,Jumbo frame的大小是每个设备厂商规定的,不属于IEEE标准;...

六库科技
今天
0
0
牛客网刷题

1. 二维数组中的查找(难度:易) 题目描述 在一个二维数组中(每个一维数组的长度相同),每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序。请完成一个函数,输入...

大不了敲一辈子代码
今天
0
0
linux系统的任务计划、服务管理

linux任务计划cron 在linux下,有时候要在我们不在的时候执行一项命令,或启动一个脚本,可以使用任务计划cron功能。 任务计划要用crontab命令完成 选项: -u 指定某个用户,不加-u表示当前用...

黄昏残影
昨天
0
0
设计模式:单例模式

单例模式的定义是确保某个类在任何情况下都只有一个实例,并且需要提供一个全局的访问点供调用者访问该实例的一种模式。 实现以上模式基于以下必须遵守的两点: 1.构造方法私有化 2.提供一个...

人觉非常君
昨天
0
0
《Linux Perf Master》Edition 0.4 发布

在线阅读:https://riboseyim.gitbook.io/perf 在线阅读:https://www.gitbook.com/book/riboseyim/linux-perf-master/details 百度网盘【pdf、mobi、ePub】:https://pan.baidu.com/s/1C20T......

RiboseYim
昨天
1
0
conda 换源

https://mirrors.tuna.tsinghua.edu.cn/help/anaconda/ conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free/conda config --add channels https://mir......

阿豪boy
昨天
1
0
Confluence 6 安装补丁类文件

Atlassian 支持或者 Atlassian 缺陷修复小组可能针对有一些关键问题会提供补丁来解决这些问题,但是这些问题还没有放到下一个更新版本中。这些问题将会使用 Class 类文件同时在官方 Jira bug...

honeymose
昨天
0
0
非常实用的IDEA插件之总结

1、Alibaba Java Coding Guidelines 经过247天的持续研发,阿里巴巴于10月14日在杭州云栖大会上,正式发布众所期待的《阿里巴巴Java开发规约》扫描插件!该插件由阿里巴巴P3C项目组研发。P3C...

Gibbons
昨天
1
0
Tomcat介绍,安装jdk,安装tomcat,配置Tomcat监听80端口

Tomcat介绍 Tomcat是Apache软件基金会(Apache Software Foundation)的Jakarta项目中的一个核心项目,由Apache、Sun和其他一些公司及个人共同开发而成。 java程序写的网站用tomcat+jdk来运行...

TaoXu
昨天
0
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部