码迷,mamicode.com
首页 > 其他好文 > 详细

Spark1.4源码走读笔记之隐式转换

时间:2016-09-19 13:21:33      阅读:139      评论:0      收藏:0      [点我收藏+]

标签:spark 隐式转换

 RDD源码中隐式转换


 def distinct(numPartitions: Int)(implicit ord: Ordering[T] = null): RDD[T] = withScope {

    map(x => (x, null)).reduceByKey((x, y) => x, numPartitions).map(_._1)

  }

使用了隐式参数,运行时不需要手动提供参数ord,运行时会根据上下文注入参数


  def groupBy[K](f: T => K)(implicit kt: ClassTag[K]): RDD[(K, Iterable[T])] = withScope {

    groupBy[K](f, defaultPartitioner(this))

  }


  def groupBy[K](

      f: T => K,

      numPartitions: Int)(implicit kt: ClassTag[K]): RDD[(K, Iterable[T])] = withScope {

    groupBy(f, new HashPartitioner(numPartitions))

  }


Spark1.4源码走读笔记之隐式转换

标签:spark 隐式转换

原文地址:http://36006798.blog.51cto.com/988282/1853982

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!