If we put the `implicit` into "pacakge object rdd" or "object rdd", when we
write `rdd.groupbykey()`, because rdd is an object of RDD, Scala compiler
will search `object rdd`(companion object) and `package object rdd`(pacakge
object) by default. We don't need to import them explicitly. Here is a post
about the implicit search logic:
http://eed3si9n.com/revisiting-implicits-without-import-tax

To maintain the compatibility, we can keep `rddToPairRDDFunctions` in the
SparkContext but remove `implicit`. The disadvantage is there are two
copies of same codes.




Best Regards,
Shixiong Zhu

2014-11-14 3:57 GMT+08:00 Reynold Xin <r...@databricks.com>:

> Do people usually important o.a.spark.rdd._ ?
>
> Also in order to maintain source and binary compatibility, we would need
> to keep both right?
>
>
> On Thu, Nov 6, 2014 at 3:12 AM, Shixiong Zhu <zsxw...@gmail.com> wrote:
>
>> I saw many people asked how to convert a RDD to a PairRDDFunctions. I
>> would
>> like to ask a question about it. Why not put the following implicit into
>> "pacakge object rdd" or "object rdd"?
>>
>>   implicit def rddToPairRDDFunctions[K, V](rdd: RDD[(K, V)])
>>       (implicit kt: ClassTag[K], vt: ClassTag[V], ord: Ordering[K] = null)
>> = {
>>     new PairRDDFunctions(rdd)
>>   }
>>
>> If so, the converting will be automatic and not need to
>> import org.apache.spark.SparkContext._
>>
>> I tried to search some discussion but found nothing.
>>
>> Best Regards,
>> Shixiong Zhu
>>
>
>

Reply via email to