累加器

JS累加器

匿名 (未验证) 提交于 2019-12-03 00:43:02
function Accumulator () { var average = 0 ; var length = 0 ; var arr = []; var sum = 0 ; var max = Number .NEGATIVE_INFINITY; var min = Number .POSITIVE_INFINITY; this .add = function (val) { length++; average = average + ( val - average ) / length; sum += val; if (val > max){ max = val; } if (val < min){ min = val; } arr.push(val); } this .size = function () { return length; } this .getAverage = function () { return average; } this .sum = function () { return sum; } this .max = function () { return max; } this .min = function () { return min; } } 文章来源: JS累加器

spark2.x-Accumulator

匿名 (未验证) 提交于 2019-12-03 00:30:01
Accumulator累加器 累加器(accumulator)是Spark中提供的一种分布式的变量机制,其原理类似于mapreduce,即分布式的改变,然后聚合这些改变。 累加器的一个常见用途是在调试时对作业执行过程中的事件进行计数。 Accumulable简单值 结果类型和要合并的元素类型一样, 例如变量仅仅能“添加”到关联和交换操作 所以能在并行程序上有效支持 被用来实现计数器或者求和 spark原生支持数值类型的累加器,程序员可以自己添加新类型的支持 计数器被创建通过一个初始的V值,通过调用SparkContext.accumlator 运行在集群上的任务可以添加它通过+=操作符 然而,他们不能读取它的值 仅仅Driver 程序能读取accumulator的值 用value 方法 例如 val accum = sc.accumulator(0) sc.parallelize(Array(1, 2, 3, 4)).foreach(x => accum += x) accum.value spark2以后用AccumulatorV2替代 注意:使用Accumulator时,为了保证准确性,只使用一次action操作。如果需要使用多次则使用cache或persist操作切断依赖。具体可以参照 https://blog.csdn.net/lsshlsw/article/details

Spark累加器例子

匿名 (未验证) 提交于 2019-12-02 23:40:02
例子一: package sparkday05 import org.apache.spark.util.{CollectionAccumulator, LongAccumulator} import org.apache.spark.{SparkConf, SparkContext} object AccumulatorDemo { def main(args: Array[String]): Unit = { val conf:SparkConf = new SparkConf().setAppName("accumulator").setMaster("local[4]") val sc:SparkContext = new SparkContext(conf) val rdd1 = sc.parallelize(List(1,2,3,4,5,6,7,8)) //long类型的累加器 def longAccumulator(name:String):LongAccumulator = { val acc = new LongAccumulator sc.register(acc,name) acc } val acc1 = longAccumulator("longAcc") //在exevutor端累加 rdd1.foreach(x=>acc1.add(x)) /

基于XC2V1000型FPGA的FIR抽取滤波器的设计

99封情书 提交于 2019-11-28 02:37:45
http://hi.baidu.com/hieda/blog/item/3613b6bf6f4dd00e18d81f78.html 基于XC2V1000型FPGA的FIR抽取滤波器的设计 摘要 :介绍XC2V1000型现场可编程门阵列(FPGA)的主要特性和FIR抽取滤波器的工作原理,重点阐述用XC2V1000实现FIR抽取滤波器的方法,并给出仿真波形和设计特点。 关键词 :FIR抽取滤波器;流水线操作;XC2V1000;现场可编程门阵列 1 引言 抽取滤波器广泛应用在数字接收领域,是数字下变频器的核心部分。目前,抽取滤波器的实现方法有3种:单片通用数字滤波器集成电路、DSP和可编程逻辑器件。使用单片通用数字滤波器很方便,但字长和阶数的规格较少,不能完全满足实际需要。使用DSP虽然简单,但程序要顺序执行,执行速度必然慢。现场可编程门阵列(FPGA)有着规整的内部逻辑阵列和丰富的连线资源,特别适用于数字信号处理,但长期以来,用FPGA实现抽取滤波器比较复杂,其原因主要是FPGA中缺乏实现乘法运算的有效结构。现在,FPGA集成了乘法器,使FPGA在数字信号处理方面有了长足的进步。本文介绍用Xilinx公司的XC2V1000型FPGA实现FIR抽取滤波器的设计方法。 2 XC2V1000简介 Virtex-Ⅱ系列是Xilinx公司近几年研发的具有高性能、高速度和低功耗特点的新一代FPGA