文档章节

共享变量 BroadcastVariable 实例

别寒
 别寒
发布于 2017/07/24 15:23
字数 185
阅读 5
收藏 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 java.util.Arrays;
import java.util.List;

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

        JavaSparkContext sc = new JavaSparkContext(conf);

        /**
         * 在java中,创建共享变量,就是调用SparkContext的broadcast方法
         * 获取的返回结果Broadcast<Integer>类型
         */
        final int factor = 3;
        final Broadcast<Integer> factorBroadcast = sc.broadcast(factor);

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

        // 让集合中的每个数字,都乘以外部定义的那个factor
        JavaRDD<Integer> multipleNumbers = number.map(new Function<Integer, Integer>() {
            @Override
            public Integer call(Integer number) throws Exception {
                // 使用共享变量时,调用其value(),即可获取其内部共享的值
                int factor = factorBroadcast.value();
                return number * factor;
            }
        });

        multipleNumbers.foreach(new VoidFunction<Integer>() {
            @Override
            public void call(Integer integer) throws Exception {
                System.out.println(integer);
            }
        });


        sc.close();
    }
}

© 著作权归作者所有

共有 人打赏支持
别寒
粉丝 30
博文 267
码字总数 135817
作品 0
永州
程序员
java -- static/final/abstract

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

求是科技 ⋅ 2016/09/22 ⋅ 0

java中的实例成员与类成员

首先, 类的目的是抽象出一类事物共有的属性和行为,并用一定的语法格式来描述所抽象出的属性和行为。也即是说,类是一种用于创建具体实例(对象)的数据类型。 类体中包括成员变量的声明和方...

牧羊人Berg ⋅ 2015/10/12 ⋅ 0

asp.net static 在服务器端问题

以前总以为是static是个好的修饰符,也知道它是被类的实例所共享的,一个实例改变了带有static修饰符变量的值,那么其他的实例都会变成修改后的值。这个在一台电脑上面永远不会出现问题,但是...

阿拉赛 ⋅ 2012/11/08 ⋅ 0

Java多线程编程:变量共享分析(Thread)

在编写多线程程序时,最重要的就是搞清楚哪些变量是共享的,哪些变量是不共享的。也就是要分析清楚其中的原理呀。 因为最近要使用多线程就看了一些,对使用Thread类的子类创建线程的情况,总...

旭东的博客 ⋅ 2013/05/22 ⋅ 0

关于Struts的Action一点说明(线程安全性)

今天看到有人发帖子问Action的问题,我想来说明一下。 虽然我也不能算精通,但是希望把我知道的和大家分享一下; 我没有用过Struts2,一直在用Struts。不知道是不是一样的。 对Struts,我可以...

人型电脑天使心 ⋅ 2012/09/03 ⋅ 0

多线程-01-创建线程的三种方式

多线程创建线程的三种方式 进程和线程 几乎所有的操作系统都支持同时运行多个任务,一个任务通常就是一个程序,每个运行中的程序就是一个进程Process。当一个程序运行时,内部可能包含多个顺...

FutaoSmile丶 ⋅ 01/12 ⋅ 0

static变量的线程间共享,进程间不共享

JAVA中通常我们会使用static域变量来在内存中缓存数据或长驻内存数据,众所周知 ,static是类的所有实例所共享. 考虑一个问题,假如在多线程情况下,共享数据肯定会有危险的, 例如使用Simpl...

cjun1990 ⋅ 2014/12/29 ⋅ 0

Java多线程常见的问题总结

1.synchronized对象锁和static synchronized类锁的区别 synchronized是对类的当前实例进行加锁, 防止其他线程同时访问该类的实例的所有synchronized块 是一个实例锁,锁在一个实例对象上 st...

陈小扁 ⋅ 2016/03/09 ⋅ 0

static修饰符

static修饰符 stati修饰符可用来修饰成员变量、成员方法和代码块 static变量 类的成员变量分两种: 类变量或静态变量:被static修饰的变量 实例变量:没有被static修饰的变量。 静态变量和实...

Zenith-Lee ⋅ 2014/02/21 ⋅ 0

java线程安全问题之静态变量、实例变量、局部变量

java多线程编程中,存在很多线程安全问题,至于什么是线程安全呢,给出一个通俗易懂的概念还是蛮难的,如同《java并发编程实践》中所说: 写道 给线程安全下定义比较困难。存在很多种定义,如...

Oscarfff ⋅ 2016/04/26 ⋅ 0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

大数据工程师需要精通算法吗,要达到一个什么程度呢?

机器学习是人工智能的一个重要分支,而机器学习下最重要的就是算法,本文讲述归纳了入门级的几个机器学习算法,加大数据学习群:716581014一起加入AI技术大本营。 1、监督学习算法 这个算法由...

董黎明 ⋅ 30分钟前 ⋅ 0

Kylin 对维度表的的要求

1.要具有数据一致性,主键值必须是唯一的;Kylin 会进行检查,如果有两行的主键值相同则会报错。 2.维度表越小越好,因为 Kylin 会将维度表加载到内存中供查询;过大的表不适合作为维度表,默...

无精疯 ⋅ 33分钟前 ⋅ 0

58到家数据库30条军规解读

军规适用场景:并发量大、数据量大的互联网业务 军规:介绍内容 解读:讲解原因,解读比军规更重要 一、基础规范 (1)必须使用InnoDB存储引擎 解读:支持事务、行级锁、并发性能更好、CPU及...

kim_o ⋅ 36分钟前 ⋅ 0

代码注释中顺序更改 文件读写换行

`package ssh; import com.xxx.common.log.LogFactory; import com.xxx.common.log.LoggerUtil; import org.apache.commons.lang3.StringUtils; import java.io.*; public class DirErgodic ......

林伟琨 ⋅ 44分钟前 ⋅ 0

linux实用操作命令

参考 http://blog.csdn.net/qwe6112071/article/details/50806734 ls [选项] [目录名 | 列出相关目录下的所有目录和文件 -a 列出包括.a开头的隐藏文件的所有文件-A 同-a,但不列出"."和"...

简心 ⋅ 今天 ⋅ 0

preg_match处理中文符号 url编码方法

之前想过直接用符号来替换,但失败了,或者用其他方式,但有有些复杂,这个是一个新的思路,亲测可用 <?php$str='637朗逸·超速新风王(300)(白光)'; $str=iconv("UTF-8","GBK",$s...

大灰狼wow ⋅ 今天 ⋅ 0

DevOps 资讯 | PostgreSQL 的时代到来了吗 ?

PostgreSQL是对象-关系型数据库,BSD 许可证。拼读为"post-gress-Q-L"。 作者: Tony Baer 原文: Has the time finally come for PostgreSQL?(有删节) 近30年来 PostgreSQL 无疑是您从未听...

RiboseYim ⋅ 今天 ⋅ 0

github太慢

1:用浏览器访问 IPAddress.com or http://tool.chinaz.com 使用 IP Lookup 工具获得github.com和github.global.ssl.fastly.net域名的ip地址 2:/etc/hosts文件中添加如下格式(IP最好自己查一...

whoisliang ⋅ 今天 ⋅ 0

非阻塞同步之 CAS

为解决线程安全问题,互斥同步相当于以时间换空间。多线程情况下,只有一个线程可以访问同步代码。这种同步也叫阻塞同步(Blocking Synchronization). 这种同步属于一种悲观并发策略。认为只...

长安一梦 ⋅ 今天 ⋅ 0

云计算的选择悖论如何对待?

人们都希望在工作和生活中有所选择。但心理学家的调查研究表明,在多种选项中进行选择并不一定会使人们更快乐,甚至不会产生更好的决策。心理学家Barry Schwartz称之为“选择悖论”。云计算为...

linux-tao ⋅ 今天 ⋅ 0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部