• 5 pyspark学习---Broadcast&Accumulator&sparkConf


    1 对于并行处理,Apache Spark使用共享变量。当驱动程序将任务发送给集群上的执行者时,集群中的每个节点上都有一个共享变量的副本,这样就可以用于执行任务了。

    2 两种支持得类型

    (1)Broadcast

    广播变量保存所有节点数据备份。该变量缓存在所有机器上,而不是在有任务的机器上发送。下面的代码块包含了PySpark的广播类的详细信息

    1 from pyspark import SparkContext, SparkConf
    2 
    3 
    4 sc = SparkContext()
    5 words_new = sc.broadcast(['scala','java','hadoop'])
    6 data = words_new.value
    7 print 'stored data->%s'%(data)
    8 elem=words_new.value[2]
    9 print 'priting a particular element in rdd-》%s'%(elem)

    (2)Accumulator

    累加器变量用于通过结合和交换操作来聚合信息。例如,您可以使用累加器来进行sum操作或计数器(在MapReduce中)。下面的代码块包含了PySpark的累加器类的详细信息

     1 from pyspark import SparkContext 
     2 sc = SparkContext("local", "Accumulator app") 
     3 num = sc.accumulator(10) 
     4 def f(x): 
     5    global num 
     6    num+=x 
     7 rdd = sc.parallelize([20,30,40,50]) 
     8 rdd.foreach(f) 
     9 final = num.value 
    10 print "Accumulated value is -> %i" % (final)

    3 sparkConf

    (1)无论是集群还是单机运行spark运用,需要进行一些参数得设置,这个时候sparkConf就派上用场了。

    (2)创建conf以后,同时将会加载spark.*得java系统。这样就可以使用链式编程比如conf.a.b.

    (3)常用方法

    set(key,value)#设置配置属性

    setMaster(Value)#设置主节点URL

    setAppName(valle)#设置应用名称

    get(key,dafaultvalue=none)#获得配置文件

    学习途径:https://www.tutorialspoint.com/pyspark/pyspark_mllib.htm

    好了 加油哟

  • 相关阅读:
    汉斯·季默:布拉格现场
    天使在美国第二部:重建
    欢迎访问我的独立博客 tracefact.net (2019.1.30)
    Kafka 分布式消息系统
    Webpack入门
    《.NET之美》消息及勘误
    MacBook笔记本微信视频聊天没有声音怎么办?
    libnuma.so.1()(64bit) is needed by mysql-community-server-5.7.9-1.el6.x86_64
    List stream 对象 属性去重
    JS遍历对象的方式
  • 原文地址:https://www.cnblogs.com/lanjianhappy/p/8707002.html
Copyright © 2020-2023  润新知