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

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Spark1.4源码走读笔记之隐式转换相关的知识,希望对你有一定的参考价值。

 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源码走读笔记之隐式转换的主要内容,如果未能解决你的问题,请参考以下文章

scala中隐式转换之隐式类

scala中隐式转换之隐式转换调用类中本不存在的方法

Scala语法基础之隐式转换

MySQL 避坑指南之隐式数据类型转换

MySQL 避坑指南之隐式数据类型转换

MySQL 避坑指南之隐式数据类型转换