当前位置: 首页>>代码示例>>Scala>>正文


Scala StatCounter类代码示例

本文整理汇总了Scala中org.apache.spark.util.StatCounter的典型用法代码示例。如果您正苦于以下问题:Scala StatCounter类的具体用法?Scala StatCounter怎么用?Scala StatCounter使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。


在下文中一共展示了StatCounter类的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Scala代码示例。

示例1: NAStatCounter

//设置package包名称以及导入依赖的类
package cn.hjmao.aaspark.ch02

import org.apache.spark.util.StatCounter


class NAStatCounter extends Serializable {
  val stats: StatCounter = new StatCounter()
  var missing: Long = 0

  def add(x: Double): NAStatCounter = {
    if (java.lang.Double.isNaN(x)) {
      missing += 1
    } else {
      stats.merge(x)
    }
    this
  }

  def merge(other: NAStatCounter): NAStatCounter = {
    missing += other.missing
    stats.merge(other.stats)
    this
  }

  override def toString: String = {
    "stats: " + stats.toString + " NaN: " + missing
  }
}

object NAStatCounter extends Serializable {
  def apply(x: Double): NAStatCounter = new NAStatCounter().add(x)
} 
开发者ID:huajianmao,项目名称:aaspark,代码行数:33,代码来源:NAStatCounter.scala

示例2: NAStatCounter

//设置package包名称以及导入依赖的类
class NAStatCounter extends Serializable {
  import org.apache.spark.util.StatCounter
  val stats: StatCounter = new StatCounter()
  var missing: Long =0

  def add(x: Double): NAStatCounter = {
    if ( java.lang.Double.isNaN(x) ) {
      missing += 1
    } else {
      stats.merge(x)
    }
    this
  }
  
  def merge(other: NAStatCounter): NAStatCounter = {
    stats.merge(other.stats)
    missing += other.missing
    this
  }
 
  override def toString = {
    "stats:" + stats.toString() + " NaN:" + missing
  }


}

object NAStatCounter extends Serializable {
  def apply(x: Double) = new NAStatCounter().add(x)
}

val arr = Array[Double](1.0, Double.NaN, 17.29)
val nas = arr.map( d => NAStatCounter(d) )

import org.apache.spark.rdd.RDD

def statsWithMissing(rdd: RDD[Array[Double]]): Array[NAStatCounter] = {
  val stats = rdd.mapPartitions((iter: Iterator[Array[Double]]) => {
    val nas: Array[NAStatCounter] = iter.next().map(d => NAStatCounter(d))
    iter.foreach( arr => {
      nas.zip(arr).foreach( { case (n,d) => n.add(d) } )
    })
    Iterator(nas)
  })
  stats.reduce( (n1,n2) => {
    n1.zip(n2).map ({case (a,b) => a.merge(b)})
  })
}

val statsm = statsWithMissing(parsed.filter(_.matched).map(_.scores))
val statsn = statsWithMissing(parsed.filter(!_.matched).map(_.scores)) 
开发者ID:hiroooo000,项目名称:sparkpractice,代码行数:52,代码来源:part02.scala


注:本文中的org.apache.spark.util.StatCounter类示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。